Php 基于存储的变量进行比较

Php 基于存储的变量进行比较,php,mysql,metaprogramming,Php,Mysql,Metaprogramming,也许这有个话题,但我找不到 我在数据库中存储一个比较运算符和一个目标值,如: $target_value_1 => 1000 $operator => greather_than_or_equal 有没有办法在变量中使用这些运算符,如: if ($variable1 $operator $target_value_1){ // Some code } 使用PHP和MySQL 谢谢我不确定您在构建什么,但您可以通过简单地创建一个检查($operator,$var1,$

也许这有个话题,但我找不到

我在数据库中存储一个比较运算符和一个目标值,如:

$target_value_1 => 1000

$operator => greather_than_or_equal
有没有办法在变量中使用这些运算符,如:

if ($variable1 $operator $target_value_1){

    // Some code

}
使用PHP和MySQL


谢谢

我不确定您在构建什么,但您可以通过简单地创建一个
检查($operator,$var1,$var2)
函数来对其进行排序,方法如下:

function check($operator, $val1, $val2) {
    switch ($operator) {
    case 'greather_than_or_equal':
        return $val1 >= $val2;
        break;
    case 'greather_than':
        return $val1 > $val2;
        break;
    case 'operator_name':
        //return your condition goes here;
        break;
    default:
        return false;
        break;
    }
}

并使用它:
如果(检查($operator,$value1,$value2)){/*您的代码*/}

可能的重复?谢谢你的回答。我想用这种方法解决这个问题,但首先我想检查一下是否有一种更简洁的方法。假设您已经定义了函数
greather\u than\u或等于($a,$b){return$a>=$b;}
,您可以稍后使用is作为
if($operator($variable1,$target\u value\u 1)){..
您可以用这种方式将运算符定义为函数,但在我看来,这种方式不太清晰/可读。