在PHP

时间:2015-06-09 14:25:49

标签: php string if-statement conditional-statements

我有一个变量$allrule = '(1 == 2) && (2 == 2)'; 当我检查if($allrule)时,它返回true,因为$allrule被视为字符串。所以我想将$allrule转换为if语句的条件。我们怎么做呢。

1 个答案:

答案 0 :(得分:3)

此解决方案使用纯eval()evil,但由于没有规定不这样做...

$allrule = '(1 == 2) && (2 == 2)';
$result = eval("return (".$allrule.");"); // $result will be false

扩展示例*:

$allrule = "(1433861812 > 1433694000) && (1433861812 > 1433771400) && (1433861812 > 1433944200)";

$result = eval("return (".$allrule.");");
if($result) {
    echo "true";
} else {
    echo "false"; // will echo "false"
}

*来自评论