Конструкция if

Сама конструкция if, или как его еще называют условного оператора, очень проста: если условие в круглых скобках правда, то выполняется код в фигурных скобках. А вот и сама конструкция

$a=7

if ($a>5) {
    echo '$a - это много!'
}

от условия в круглых скобках ожидает либо true либо false. Если там какой-то другой тип, то он будет приводиться к одному из этих двух значений.

В нашей ситуации будет выведено '$a - это много', но если бы выражение в круглых скобках($a>5) было ложью, то echo было бы проигнорировано.

Попробуем написать код, который бы выводил большее из двух чисел

$a=5;

$b=7;

if ($a>$b) {
    echo $a;
} else {
    echo $b;
}

В данном случае нам добавилась конструкция else, которая выполнится в случае, если выражение в скобках ложь, т.е. false.

Давайте попробуем освоить полученные знания в полной мере. Допустим мы хотим проверить, что $a>10 но при этом меньше 30. Мы можем воспользоваться вложенными if'ами(в дальнейшем мы будем использовать для этой задачи другой подход, но вложенные if'ы нам пригодятся)

if ($a<30) {  // сначала отсекаем числа большие 30

    if ($a>10) { 
    // потом из оставшихся выберем те, что больше 10
        echo '10<$a<30'
    }

}

В данном примере, если $a не будет попадать в искомый промежуток, то нам ничего не выведется. Можно конечно переписать код следующим образом:

if ($a<30) {  // сначала отсекаем числа большие 30

    if ($a>10) { 
    // потом из оставшихся выберем те, что больше 10
        echo '10<$a<30'
    } else {
        echo 'Все плохо';
    }
} else {
    echo 'Все плохо';
}

Не выглядит сильно компактно + мы дублируем реакцию на неудачный исход. В последующих пунктах, мы обязательно оптимизируем этот код.

Практика:

  1. Есть три переменных $a,$b,$c , содержащие числа - вывести максимальное из трех чисел.
  2. Проверить могут ли три числа быть треугольником

results matching ""

    No results matching ""