Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php eval()和#x27中意外的$end;d代码_Php_Eval_Syntax Error - Fatal编程技术网

Php eval()和#x27中意外的$end;d代码

Php eval()和#x27中意外的$end;d代码,php,eval,syntax-error,Php,Eval,Syntax Error,我不想问这样一个具体的问题,但我犯了一个我无法理解的错误。这是一个按小时运行的cron作业。我正在创建一个任务数组,每个任务都有一个日期检查,应该是eval()'d 出于某种原因,eval()行给了我这个错误请注意,这两项任务都会出现此错误。 Parse error: syntax error, unexpected $end in /file.php(21) : eval()'d code on line 1 有什么建议吗?我试着找这个,但什么也找不到。谢谢。eval只接受语句,不接受表达式

我不想问这样一个具体的问题,但我犯了一个我无法理解的错误。这是一个按小时运行的cron作业。我正在创建一个任务数组,每个任务都有一个日期检查,应该是eval()'d

出于某种原因,eval()行给了我这个错误请注意,这两项任务都会出现此错误。

Parse error: syntax error, unexpected $end in /file.php(21) : eval()'d code on line 1

有什么建议吗?我试着找这个,但什么也找不到。谢谢。

eval
只接受语句,不接受表达式。您需要使用以下工具转换测试:

if (eval("return $task[0];")) {

你错过了“;”在字符串结束时进行求值。Eval函数能够处理语句或表达式

例如:

$value = 7;
eval("\$value+=2;");
echo $value;

你在什么地方缺了一个花括号。这不可能是整个脚本。我没有看到任何缺少的花括号。除了eval()部分,脚本正在运行。如果您的PHP>=5.3,您应该使用匿名函数,而不是eval代码,以确保您自己的理智。完美!工作得很有魅力!经过20年的PHP编程,这是我第一次需要使用eval()
$value = 7;
eval("\$value+=2;");
echo $value;