我有条件存储在变量$condition = "1==1"
中,我想在条件语句中使用变量的值。
if($condition) { //$condition should be parsed as 1==1
return true;
}
这可能吗?我尝试使用var_export
,但显然这不起作用。
if(var_export($condition)) {
return true;
}
任何帮助将不胜感激!
答案 0 :(得分:0)
在上面的评论中经过一些讨论我们发现,条件本身不是问题,而是如何传递给函数
conditional_func($var . " == 'test'", $result);
我们意识到,不需要将第一个参数作为字符串传递,但可以直接使用布尔值,因此我们根本不需要计算字符串。
conditional_func($var == 'test', $result);
作为旁注:@BryanMoyles对这个问题的回答是正确的,但请记住,eval()
是邪恶的(你不能想到可能发生的任何陷阱),另一方面只有一些非常不太深奥的用例,你不能使用另一种方法。