我注意到我的一个依赖于函数date()的脚本陷入了无限循环.在调查原因时,我提出了一个非常简单的令人惊讶的测试:
<?php
echo (date("Y-m-d H:i:s",1330221136)."\n\n");
echo (date("Y-m-d H:i:s",1330222036)."\n");
Run Code Online (Sandbox Code Playgroud)
由于第一个时间戳小于第二个时间戳,因此第一行应该返回更早的日期时间.但是上面代码的输出是:
2012-02-25 23:52:16
2012-02-25 23:07:16
Run Code Online (Sandbox Code Playgroud)
有人知道PHP 5.3中函数date()的任何故障吗?
希望你能帮助我解决这个奇怪的问题:我正试图从一个控制器内重定向,但Kohana不断抛出一个异常,我无法弄清楚原因:
Cadastro.php中的代码:
try{
$this->redirect('/dados', 302);
} catch (Exception $e) {
$this->response->body(Json_View::factory(array("line ".$e->getLine()." of file ".$e->getFile().":".$e->getMessage()." - trace as string: ".$e->getTraceAsString())));
} }
Run Code Online (Sandbox Code Playgroud)
上面代码中的异常返回的堆栈跟踪消息是:
#0 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\HTTP.php(33): Kohana_HTTP_Exception::factory(302)
#1 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Controller.php(127): Kohana_HTTP::redirect('\/dados', 302)
#2 C:\\xampp\\htdocs\\grademagica\\modules\\grademagica\\classes\\Controller\\Cadastro.php(123): Kohana_Controller::redirect('\/dados', 302)
#3 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Controller.php(84): Controller_Cadastro->action_signin()
#4 [internal function]: Kohana_Controller->execute()
#5 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Request\\Client\\Internal.php(97): ReflectionMethod->invoke(Object(Controller_Cadastro))
#6 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Request\\Client.php(114): Kohana_Request_Client_Internal->execute_request(Object(Request), Object(Response))
#7 C:\\xampp\\htdocs\\grademagica\\system\\classes\\Kohana\\Request.php(990): Kohana_Request_Client->execute(Object(Request))
#8 C:\\xampp\\htdocs\\grademagica\\index.php(123): Kohana_Request->execute()
#9 {main}
Run Code Online (Sandbox Code Playgroud)
Cadastro.php中的第123行是"$ this-> redirect('/ dados',302);",如上所述.有谁能帮我展示我做错了什么?我按照文档的确切说明进行操作
谢谢
我有一个简单的函数,在它返回后,更改了数组a [](作为参数传递)的值.问题是它们甚至没有写在函数中,只读 - 据说,至少 - .希望你能帮助我:
double *bhaskara(double a[]){
double A = a[2], B = a[1], C = a[0];
double raizes[2];
double delta = B*B - 4*A*C;
if(delta<=0){//ignora delta para pegar soh a parte inteira das raizes
raizes[0] = -B/(2*A);
raizes[1] = raizes[0];
}else{
raizes[0] = (-B+sqrt(delta))/(2*A);
raizes[1] = (-B-sqrt(delta))/(2*A);
}
return raizes;
}
Run Code Online (Sandbox Code Playgroud)