【问题标题】:Convert string which retrieve from database in a If condition转换在 If 条件下从数据库中检索的字符串
【发布时间】:2018-04-04 08:54:09
【问题描述】:

我在数据库的列中存储了一些规则/逻辑。有了这个重试规则,我想把它变成一个条件。由于检索到的规则作为字符串值返回,因此我的条件始终为我提供 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 &gt; 3) and (20 &lt; 5)),那么我可以获得正确的答案。 我不知道如何转换 $www ?

【问题讨论】:

    标签: php database yii expression


    【解决方案1】:

    你可以使用PHPeval()来执行表达式:

    $www = $rule->logic; // $rule ->logic = (20 >  3) and (20 <  5)
    if(eval("return $www;")){                          
        echo 'commision granted';
            }else{
        echo 'commision noooo';
            }
    

    【讨论】:

      猜你喜欢
      • 2019-05-06
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2017-10-10
      • 1970-01-01
      • 2022-11-23
      相关资源
      最近更新 更多