使用基于相同值的多个 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) { }

希望对您有所帮助!