如何检查来自数据库列的`if`语句,如'$ a> $ B”

时间:2017-04-26 14:40:51

标签: php mysql codeigniter

如何检查数据库列中的if语句,例如$a > $b$a == $b$a != $b$a < $b

我从$row['condition']的数据库中获取数据     $row['condition'] = '$a == $b'; 要么 $ row ['condition'] ='100 == 10';

在if语句中我想检查

if($row['condition']){
   echo 'true';
}else{
   echo  'false';
}

我想输出

false

1 个答案:

答案 0 :(得分:1)

这样做的一种方法是使用eval()函数。但正如手册所说,这是非常危险

  

<强>注意
   eval()语言构造非常危险,因为它允许执行任意PHP代码。 因此不鼓励使用。如果您已经仔细验证除了使用此构造之外没有其他选择,请特别注意不要将任何用户提供的数据传递到其中,而不事先正确验证它。 1功能

也就是说,可以使用此代码:

$row['condition'] = '$a == $b';
$a=10;
$b=20;

// Evaluate the condition using "return your_condition;"
if (eval( 'return ' . $row['condition'] . ';' ))
{
    echo "true";
}
else
{
    echo "false";
}

测试here

1 <子> http://php.net/manual/en/function.eval.php