问题描述
||
我不想问这样一个具体的问题,但是我遇到了一个我不知道的错误。这是一项按小时运行的cron作业。我正在创建一个任务数组,每个任务都有一个日期检查,应该是eval()\ d。
$todo = array();
$todo[] = array( \"date(\'z\')%3 == 0\",\"Task 1\" );
$todo[] = array( \"date(\'N\') == 1\",\"Task 2\" );
foreach( $todo as $task )
{
if( eval($task[0]) ) {
echo $task[1];
}
}
由于某些原因,eval()行给了我这个错误。请注意,这两个任务都出现此错误。
Parse error: syntax error,unexpected $end in /file.php(21) : eval()\'d code on line 1
有什么建议么?我尝试搜索此内容,但找不到任何内容。谢谢。
解决方法
eval
仅接受语句,不接受表达式。您需要使用以下方法转换测试:
if (eval(\"return $task[0];\")) {