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