динамически генерируется, если оператор Eval

Это мой код:

$val1 = 0; $val2 = 3; $cond = '>';

$check = $val1.$cond.$val2;

echo eval('return $check;') ? 'true' : 'false';

У меня есть функция, которая, используя полученные параметры, генерирует динамические операторы if.

Все утверждения генерируются без ошибок.

Приведенный выше код является примером кода, используемого в указанной функции.

Проблема в том, что все операторы возвращают TRUE.

Я уверен, что я использую Eval неправильно, но я не могу понять, как.

0

Решение

Если вы используете одинарные кавычки, текст интерпретируется как есть, что означает, что вы оцениваете return $check, Вы хотите использовать двойные кавычки, что означает, что вы оцениваете return 0>3,

Так что используйте echo eval("return $check;") ? 'true' : 'false';,

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector