Упрощение операторов IF больше, чем с несколькими AND, основанными на одном значении

У меня есть переменная, которую мне нужно проверить с другими переменными, чтобы убедиться, что она больше, чем они. Я упростил приведенный ниже пример, но вот рабочий пример желаемого результата.

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

я видел Более простой способ проверить, не равна ли переменная нескольким строковым значениям?
но это для проверки наличия строк.

0

Решение

Я бы написал что-то вроде этого:

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

Другие решения

Так же, как вы можете иметь массив строк, вы можете иметь массив переменных.

«Самый упрощенный» подход — вернуть 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

По вопросам рекламы [email protected]