Я хотел бы, чтобы моя функция имела оператор сравнения в качестве аргумента (или, предпочтительно, как часть аргумента, такого как> 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');
Спасибо
Вы можете сделать функцию возвращаемого типа и использовать по своему усмотрению.
Я сделаю вам функцию, как показано ниже:
<?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";
}
?>
Вы также можете изменить эту функцию, как вы хотите 🙂
Кажется, самое простое решение для моего использования:
function comps($a,$b,$c){
if ($a > $b and $a < $c)
echo "True";
}
comps(1,0,2);
?>