and*_*ber 10 php eval syntax-error
我不想问这样一个具体的问题,但是我得到了一个我无法弄清楚的错误.这是一个小时运行的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];
}
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,eval()行给了我这个错误.请注意,我为这两个任务收到此错误.
Parse error: syntax error, unexpected $end in /file.php(21) : eval()'d code on line 1
Run Code Online (Sandbox Code Playgroud)
有什么建议?我试着寻找这个,却找不到任何东西.谢谢.
mar*_*rio 22
eval只接受陈述,而不接受表达.您需要将测试转换为:
if (eval("return $task[0];")) {
Run Code Online (Sandbox Code Playgroud)
你缺少';' 在字符串评估结束时。Eval 函数能够处理语句或表达式。
例子:
$value = 7;
eval("\$value+=2;");
echo $value;
Run Code Online (Sandbox Code Playgroud)