0

我有一个存储在变量中的条件$condition = "1==1",我想在条件语句中使用变量的值。

if($condition) { //$condition should be parsed as 1==1
    return true;
}

这可能吗?我试过使用var_export,但显然这不起作用。

if(var_export($condition)) {
    return true;
}

任何帮助将不胜感激!

4

1 回答 1

0

经过上面评论中的一些讨论,我们发现,条件本身不是问题,而是如何将其传递给函数

conditional_func($var . " == 'test'", $result);

我们意识到,不需要将第一个参数作为字符串传递,而是可以直接使用布尔值,因此我们根本不需要评估字符串。

conditional_func($var == 'test', $result);

作为旁注:@BryanMoyles 对这个问题的回答是正确的,但请记住,这eval()是邪恶的(你想不出任何可能发生的陷阱),另一方面,只有一些不太深奥的用例,你不能使用其他方法。

于 2012-12-04T16:03:22.650 回答