eval的代码中意外的$ end

问题描述

|| 我不想问这样一个具体的问题,但是我遇到了一个我不知道的错误。这是一项按小时运行的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];\")) {
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...