动态生成if语句eval

时间:2018-11-19 08:58:06

标签: php if-statement eval

这是我的代码:

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

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

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

我有一个函数,该函数使用接收到的参数来生成动态的if语句。

所有语句均生成无误。

上面的代码是该函数中使用的代码的示例。

问题在于所有语句都返回TRUE。

我确定我以错误的方式使用了eval,但是我不知道怎么做。

1 个答案:

答案 0 :(得分:1)

如果使用单引号,则文本将按原样解释,这意味着您正在评估return $check。您想使用双引号,这意味着您正在评估return 0>3

因此请使用echo eval("return $check;") ? 'true' : 'false';