使用基于相同值的多个AND简化大于IF语句

问题描述 投票:0回答:2

我有一个变量,我需要检查其他变量,以确保它比它们更大。我已经简化了下面的例子,但是这里是一个期望结果的工作示例。

<?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){

我见过Simpler way to check if variable is not equal to multiple string values? ,但这是为了检查字符串的存在。

php operators simplification
2个回答
0
投票

我写的是这样的:

if (max($a, $b, $c, $d, $e) == $a) {
    ....
}

1
投票

就像你可以拥有一个字符串数组一样,你可以拥有一组变量。

“最简单化”的方法是返回数组变量的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) { }

希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.