Комбинации конструкций if-else в PHP

Пусть переменная $num может принимать значения 1, 2 или 3. Пусть также для каждого значения мы хотим выводить на экран различные строки. Для решения задачи можно просто написать три if без конструкции else:

<?php $num = 1; // может быть 1, 2 или 3 if ($num === 1) { echo 'value1'; // сработает, если $num равно 1 } if ($num === 2) { echo 'value2'; // сработает, если $num равно 2 } if ($num === 3) { echo 'value3'; // сработает, если $num равно 3 } ?>

В переменной $day лежит какое-то число из интервала от 1 до 31. Определите в какую декаду месяца попадает это число.

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

Приведенный выше код можно переписать через специальную конструкцию elseif:

<?php $num = 1; if ($num === 1) { echo 'value1'; } elseif ($num === 2) { echo 'value2'; } elseif ($num === 3) { echo 'value3'; } ?>

Решите предыдущую задачу на декады месяца через конструкцию elseif.

Преимущество elseif

Преимуществом использования elseif вместо нескольких ифов является возможность отловить ситуацию, когда значение переменной $num не подходит ни под одно из условий:

<?php $num = 1; if ($num === 1) { echo 'value1'; } elseif ($num === 2) { echo 'value2'; } elseif ($num === 3) { echo 'value3'; } else { echo 'неверное значение переменной $num'; } ?>

Модифицируйте предыдущую задачу так, чтобы, если в переменной $day будет не число от 1 до 31, выдавалось сообщение об ошибке.

Вложенные if

Конструкции if else можно вкладывать друг в друга произвольным образом. Смотрите пример:

<?php $num = 3; if ($num >= 0) { if ($num <= 5) { echo 'меньше или равно 5'; } else { echo 'больше 5'; } } else { echo 'меньше нуля'; } ?>

Пусть в переменной $age хранится число. Если это число меньше 10 или больше 99, то выведите на экран сообщение об этом. Если же число попадает в указанный диапазон, то найдите сумму цифр этого числа. Если полученная сумма меньше или равна 9, то выведите на экран сообщение о том, что сумма цифр однозначна, в противном случае выведите сообщение о том, что сумма цифр двузначна.