通过函数参数传递比较运算符

时间:2016-08-14 18:35:36

标签: php function arguments comparison-operators

我希望我的函数将比较运算符作为参数(或者最好作为参数的一部分,例如> 0):

而不是

function comps($a,$b){
    if ($a > $b)
      echo "This works.";
}
comps(1,0);

我希望能够做一些像

这样的事情
function comps($a,$b){
    if ($a $b)
      echo "This works.";
}
comps(1,'>0');

我已经在墙上敲了一下我的头一会儿。我尝试了不同的迭代:

"/>0"
'>' . 0
(string)> 0

以及尝试比较运算符作为第三个参数。

实际使用是:

function mysort($key,$match){
$temp_array = array();
global $students;

foreach ($students as $row) {
    if($row[$key] > $match ) 
    $temp_array[]= $row;
    }

foreach ($temp_array as $row) {
    echo $row['email'] . ', ';
    }
}
mysort('suzuki', '0'); 

由于

2 个答案:

答案 0 :(得分:0)

您可以制作返回类型功能并根据需要使用。

我将按照以下方式为您提供功能:

<?php
    function getCond($a, $b, $both) {
        $data = false;
        if($both) {
            if($a == b) {
                $data = true;
            }
        }else {
             if($a > $b) {
                 $data = true;
             }
        }
        return $data;
    }

 /*  Use Your Function  */
    if (getCond(10, 5, true)) {      // condition for 10 == 5 and according to passed values you get false result in condition 
        echo "you result";
    } else if (getCond(10, 5, false)) {  // condition for 10 > 5 and according to passed values you get false result in condition
        echo "your result";
    } else if (getCond(6, 5, false)){    // condition for 6 > 5 and according to passed values you get true result in condition
        echo "your result";
    } 
?>

您也可以根据需要修改此功能:)

答案 1 :(得分:0)

我使用的最简单的解决方案似乎是:     

function comps($a,$b,$c){
if ($a > $b  and $a < $c)
echo "True";
}

comps(1,0,2);
?>