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

时间:2018-02-12 03:36:26

标签: php operators simplification

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

<?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? ,但这是为了检查字符串是否存在。

2 个答案:

答案 0 :(得分:1)

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

最简单的&#39;方法是返回数组变量的 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) { }

希望这有帮助!

答案 1 :(得分:0)

我写的是这样的:

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