2015-05-01 2 views
0

Я получил ошибку при установке статического значения переменной в значение time().PHP Почему не удается инициализировать статическую переменную во времени()?

Сообщение об ошибке "ошибка синтаксиса, неожиданный '(', ожидая '' или ';' в [...] [...] в строке 7"

<?php 
define("DEBUG", true); 
define("NEWLINE", "<br>"); 
... 
function debugMsg($msg) { 
    static $lastTime = time(); 
    if(DEBUG==true) echo date('Y-m-d H:i:s', time())." ".$msg." (".(time()-$lastTime)." seconds)".NEWLINE; 
    $lastTime = time(); 
} 
?> 

debugMsg("XXX task completed"); 
//My expected output like below: 
//2015-05-01 15:04:47 XXX task completed (2 seconds) 

ответ

0

из PHP документации link

Статические переменные могут быть объявлены, как показано в приведенных выше примерах. Попытка присвоить значения этих переменных, которые являются результатом выражений, вызовет Парс e ошибка.

Вы пытаетесь присвоить значение переменной, которая является результатом выражения

+0

Спасибо за вашу помощь. Я изменил свой код на статический $ lastTime = START_TIME; где START_TIME определяется в начале определения кода («START_TIME», time()); – cs1942

+0

Если вы можете принять мой ответ, спасибо –