3.1 - Оператор условия If... Else в PHP

Ветвление в программе это важная часть любой программы. К примеру пользователь заполнил не все поля на форме при регистрации - программа должна отреагировать на это и выдать соответствующее сообщение. Или ввел в адресную строку адрес страницы которой нет - опять же программа должна обработать этот момент. Распространенный пример, с формой авторизации - неправильный логин или пароль. Когда пользователь вводит неправильные данные - программа должна проверить эти данные и в зависимости от результата проверки выдать соответствующий результат: авторизовать или вывести сообщение об ошибке. Это краткий пример понятия "Ветвление" в приложении.

Для ветвления в PHP существуют операторы условия. Самый распространенный оператор ветвления - это if / else.

Оператор if

Синтаксис этого оператора if очень прост - оператор if, условие, тело (в теле оператора находится код который будет выполнен если условие истинно). Тело оператора if заключается в фигурные скобки {}, но если код в теле занимает одну строку (вернее 1 выражение) то скобки можно не ставить. Выражение после оператора if будет рассмотрено как тело оператора. Но если выражений больше одного то скобки обязательны. Но это по правилам стандарта оформления кода - лучше скобки использовать.

Пример оператора if

<?php
 $a = 1;
 if($a == 1)
 {
 echo '$a равно 1';
 }  
 
 // а тут в одну строку без скобок  
 if($a == 1) echo '$a равно 1';  
 
 // можно даже так 
 if($a == 1)    
    echo '$a равно 1';
 
 ?>

В этом примере мы проверяли равенство переменной $a и значений 1. Важно - знак равенства в программировании оформляется в виде двух знаков "==". Не путайте знак равенства "==" и знак присвоения "=". Если вы случайно укажите знак присвоения вместо равенства то условие будет звучать так "Присвоить переменной значение и проверить переменную на истину". А это уже серьезная ошибка при разработке:

<?php
 $a = 5;
 
 // это условие будет выполнятся всегда 
 if($a = 1) 
 {   
   echo '$a равно 1'; 
 }  
 ?>

Да, есть такая штука у оператора if, как сокращенная проверка значения переменной - if($a) это то же самое что и if($a == true).

Оператор else

В примерах выше примеры были на одно условие - выполнять или нет. Но ветвление это выбор или/или. Это к тому что как быть если нужно не просто выполнить код, а выбрать какой именно код выполнить.

Для этого существует дополнительный оператор условия - else. Его смысл можно понять по названию - иначе. Т.е. если условие не будет выполнено - то будет выполнен код в теле оператора else

Пример использования оператора else

<?php
  $a = 4;
  if($a == 5)
  {
    echo '$a равно 5';
  }
  else
  {
    echo '$a не равно 5'; 
  } 
 ?>

Важно - оператор else не может существовать сам по себе. Этот оператор - дополнение для оператора if

Оператор условия elseif

Еще один дополнительный оператор условия - elseif. Он необходим когда нужно выполнить три и более варианта кода. Т.е. или/или/или и так далее.

Пример использования оператора elseif

<?php
  $a = 4;
  if($a == 5)
  {
   echo '$a равно 5';
  }
  elseif($a > 5)
  {
   echo '$a больше 5';
  }
  else
  {
   echo '$a меньше 5'; 
  }
  ?>

Такой оператор, elseif, позволяет избавиться от ненужной вложенности операторов условия. Без него проверка была бы не такой изящной

<?php
  $a = 4;
  if($a == 5)
  {
    echo '$a равно 5';
  } else {
    if($a > 5)
    {
     echo '$a больше 5';
    }   else   {
     echo '$a меньше 5';
    }
  } 
 ?>

Замете на сколько избыточен и неудобен стал код если убрать оператор elseif.

Список уроков