我在数据库的一列中存储了一些规则/逻辑。通过重试的规则,我想让它成为一个条件。由于检索到的规则作为字符串值返回,因此我的条件总是为TRUE。
让我们说
$www = $rule->logic; // $rule ->logic = (20 > 3) and (20 < 5)
if($www ){
$this->logger->debug('commision granted');
}else{
$this->logger->debug('commision noooo');
}
然而,如果我只是使用if ((20 > 3) and (20 < 5))
那么我可以得到正确答案。
我不知道如何转换$ www?
答案 0 :(得分:3)
您可以使用PHP eval()
来执行表达式:
$www = $rule->logic; // $rule ->logic = (20 > 3) and (20 < 5)
if(eval("return $www;")){
echo 'commision granted';
}else{
echo 'commision noooo';
}