if — else в PHP
Условия и ветвления являются неотъемлемой частью любой разработки, в любом языке программирования, php не исключение. Практически любой php-скрипт содержит условия и в зависимости от его выполнения, происходит выполнение того или иного выражения, вызова функций, вывода информации. В данной статье будет рассмотрено несколько примеров применения. Использование if — else схоже с принятием решений у человека. Естественно, принятие решений у человека, немного сложнее, тем не менее на if-else можно построить небольшое подобие. На картинке ниже, я постарался наглядно показать, как это работает.
Рассмотрим простой пример, аналогичный изображению выше, уже на php. Когда интерпретатор php доходит до if, происходит проверка на истинность того, что находится в круглых скобках, это может быть проверка существования переменной, проверка ее на пустоту, проверка содержащегося в ней значения с другой переменной или даже несколько условий. И если в результате проверки, условие в скобках, после if окажется верным(true), то выполнится код, находящийся в фигурных скобках после if. Если условие будет не верным(false), то интерпретатор ищет блок else и выполняет код, который находится в фигурных скобках после else, пропуская весь код в фигурных скобках блока if.
Для начала объявим переменную $money и присвоим значение true, это будет означать, что деньги есть. Затем проверим переменную в if и выполним выражение, а также опишем конструкцию else c выполняемым выражением, если $money окажется false. В коде это бы выглядело так:
<?php $money = true; if($money){ echo 'Идем в магазин'; }else{ echo 'Идем домой'; } ?>
В результате выполнения будет выведено: Идем в магазин, так как проверяемое выражение в if — верно.
Если изменить значение переменной $money на false, то мы получим вывод сообщения: Идем домой. Попробуйте самостоятельно проверить.
Конструкция if — else может быть многоуровневой, где в результате проверки одного условия, происходит проверка дополнительных. Усложним пример, чтобы наглядно это проверить. Добавим переменные $shopOpen, $breadExist, $breadFresh и присвоим им значение, тоже true — это будет означать, что магазин открыт и хлеб есть.
Список последовательных проверок нового пример:
- Есть ли деньги?;
- Открыт ли магазин?;
- Есть ли хлеб?;
- Хлеб свежий?;
На каждую из этих проверок будут действия в случае true и false. Код примера, с комментариями:
<?php $money = true; $shopOpen = true; $breadExist = true; $breadFresh = true; // Проверяем наличие денег if($money){ echo 'Идем в магазин\n'; // Проверяем открыт ли магазин if($shopOpen){ echo 'Магазин открыт, заходим и проверяем наличие хлеба\n'; // Проверяем есть ли хлеб if($breadExist){ echo 'Хлеб есть, но нужно проверить свежий ли он\n'; // Проверяем свежесть хлеба if($breadFresh){ echo 'Хлеб свежий, покупаем\n'; }else{ echo 'Хлеб не свежий, идем в другой магазин\n'; } }else{ echo 'Хлеба нет, идем в другой магазин\n'; } }else{ echo 'Магазин закрыт. Идем в другой магазин\n'; } }else{ echo 'Идем домой\n'; } ?>
В результате работы этого кода, мы получим следующий вывод:
Идем в магазин Магазин открыт, заходим и проверяем наличие хлеба Хлеб есть, но нужно проверить свежий ли он Хлеб свежий, покупаем
В коде выше, было сделано несколько вложенных if — else. Скопируйте код и попробуйте поменять значения объявленных переменных с true на false, чтобы наглядно посмотреть, как обрабатываются или пропускаются выражения, при разных условиях.
Стоит отметить, чтобы не запутаться во вложенности, следует вложенные конструкции писать последовательно и блоками, а потом заполнять данными для проверки и выражениями. Ниже gif-ка, на которой наглядно показана последовательность построения вложенности.