使用基于相同值的多个 AND 简化大于 IF 语句
Simplifying greater than IF statements with multiple ANDs based on the same value
我有一个变量,我需要检查其他变量以确保它大于它们。我已经简化了下面的示例,但这里是所需结果的工作示例。
<?php
$a = 5;
$b = 4;
$c = 3;
$d = 2;
$e = 1;
if(($a > $b) && ($a > $c) && ($a > $d) && ($a > $e)){
echo "A is the biggest";
}else{
echo "A is not the biggest";
}
?>
我的问题是,是否有更简单的方法来编写 if 语句,这样我们就不必 $a
分别写四次?类似于 ...
if($a > $b,$c,$d,$e){
我见过 检查变量是否不等于多个字符串值的更简单方法?
但这是为了检查字符串的存在。
我会这样写:
if (max($a, $b, $c, $d, $e) == $a) {
....
}
就像您可以拥有一个字符串数组一样,您也可以拥有一个变量数组。
'most simplistic'的做法是return数组变量的max()
,然后简单的检查是否$a
比那个大。这样你只需要做一次比较。
if (($a > $b) && ($a > $c) && ($a > $d) && ($a > $e)) { }
可以重写为:
$values = array($b, $c, $d, $e); // array(4, 3, 2, 1);
if ($a > max($values)) { } // if (5 > 4) { }
希望对您有所帮助!
我有一个变量,我需要检查其他变量以确保它大于它们。我已经简化了下面的示例,但这里是所需结果的工作示例。
<?php
$a = 5;
$b = 4;
$c = 3;
$d = 2;
$e = 1;
if(($a > $b) && ($a > $c) && ($a > $d) && ($a > $e)){
echo "A is the biggest";
}else{
echo "A is not the biggest";
}
?>
我的问题是,是否有更简单的方法来编写 if 语句,这样我们就不必 $a
分别写四次?类似于 ...
if($a > $b,$c,$d,$e){
我见过 检查变量是否不等于多个字符串值的更简单方法? 但这是为了检查字符串的存在。
我会这样写:
if (max($a, $b, $c, $d, $e) == $a) {
....
}
就像您可以拥有一个字符串数组一样,您也可以拥有一个变量数组。
'most simplistic'的做法是return数组变量的max()
,然后简单的检查是否$a
比那个大。这样你只需要做一次比较。
if (($a > $b) && ($a > $c) && ($a > $d) && ($a > $e)) { }
可以重写为:
$values = array($b, $c, $d, $e); // array(4, 3, 2, 1);
if ($a > max($values)) { } // if (5 > 4) { }
希望对您有所帮助!