Мне не нравится задавать такой конкретный вопрос, но я получаю ошибку, которую я не могу понять. Это задание 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];")) {