php - eval() 代码中的意外 $end

标签 php eval syntax-error

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

$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];")) {

关于php - eval() 代码中的意外 $end,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6142550/

相关文章:

c - 实现二叉搜索树时的语法错误 (C)

php - 为什么 php 不能将引号转换为 mysql 的 html 实体?

php - Unix 'at' 命令通过 PHP 运行单个函数

perl - 如何在不使用 eval 的情况下动态包含 Perl 模块?

c - PostgreSQL:从 C 函数评估 SQL 表达式

php - 生成随机GUID时未初始化的字符串偏移量通知

PHP 警告 : move_uploaded_file(): Unable to move/failed to open stream: Permission denied

php - MySQLi 相对于 MySQL 的优势

emacs - emacs lisp 中 lambda 的格式

Python 评估 : What's wrong with this code?