我有一个变量,它动态地包含条件,我需要检查那个条件。例如,
$condition = '21 < 20';
if($condition){
echo "yes";
} else {
echo "no";
}
我想检查这个条件,但它总是返回"yes“,因为条件变量有一些字符串。我怎么检查21大于20的条件,这样的问题谁都能通过?谢谢。
发布于 2019-05-24 07:29:58
直接从PHP.net
Caution eval()语言构造是非常危险的,因为它允许执行任意PHP代码。因此,不鼓励使用它。如果您已经仔细验证了除了使用此构造之外没有其他选择,请特别注意,在没有事先正确验证的情况下,不要将用户提供的任何数据传递到其中。
也就是说,使用您的需求(和部分代码),您的结果将如下所示:
// Define the condition from the other function
$condition = '5>3';
// Grab the result of evaluating that condition
// VERY DANGEROUS IF YOU CANNOT TRUST THE INPUT
$result = eval('return ('.$condition.');');
// Execute a normal if statement check
if($result){ echo "yes";} else {echo "no";}
https://stackoverflow.com/questions/56283768
复制相似问题