Операторы if else PHP

В этой статье мы расскажем, как использовать операторы  if else PHP.

Условные операторы в PHP

В PHP есть несколько операторов, которые можно использовать для принятия решений:

  • Оператор if;
  • Оператор if ... else;
  • Оператор if ... elseif .... else;
  • Оператор switch ... case.

Ниже мы рассмотрим каждый из этих операторов.

Оператор if в PHP

Оператор if в PHP (как и PHP elseif) используется для выполнения блока кода только в том случае, если указанное условие имеет значение true. Это простейший условный оператор PHP, его можно записать следующим образом:

if(условие){
    // Исполняемый код
}

Приведенный ниже код выводит «Хорошего уик-энда!», если сегодня пятница:

Пример:

<?php
$d = date("D");
if($d == "Fri"){
    echo "Хорошего уик-энда!";
}
?>

Оператор if ... else PHP

Можно усложнить процесс принятия решений, предоставив альтернативный вариант. Для этого к if нужно добавить оператор else. Оператор if ... else позволяет выполнить один блок кода, если указанное условие оценивается как true, а другой блок кода, если false.

Его можно записать следующим образом:

if(условие){
    // Код, который будет выполнен, если условие истинно
} else{
    // Код, который будет выполнен, если условие ложно
}

Приведенный ниже код выводит «Хорошего уик-энда!», если сегодня пятница. Иначе выводиться «Хорошего дня!».

Пример:

<?php
$d = date("D");
if($d == "Fri"){
    echo "Хорошего уик-энда!";
} else{
    echo "Хорошего дня!";
}
?>

Оператор if ... elseif ... else

if...elseif...else оператор (не путать с PHP elseif else) используется для объединения нескольких операторов if ... else.

if(условие){
    // Код, который будет выполнен, если условие истинно
} elseif(условие){
    // Код, который будет выполнен, если условие истинно
} else{
    // Код, который будет выполнен, если условие ложно
}

Приведенный ниже код выводит «Хорошего уик-энда!», если сегодня пятница или «Хорошего воскресенья!» если сегодня воскресенье. В противном случае будет выводиться «Хорошего дня!».

Пример:

<?php
$d = date("D");
if($d == "Fri"){
    echo "Хорошего уик-энда!";
} elseif($d == "Sun"){
    echo "Хорошего воскресенья!";
} else{
    echo "Хорошего дня!";
}
?>

Тернарный оператор PHP

Тернарный оператор предоставляет сокращенный способ написания операторов if ... else и elseif PHP. Тернарный оператор обозначается символом вопросительного знака (?). Он принимает три операнда: условие для проверки, результат для true и результат для false.

Чтобы понять, как работает этот оператор, рассмотрим следующие примеры:

Пример:

<?php
if($age < 18){
    echo 'Ребенок'; // Выводит Ребенок, если возраст меньше 18
} else{
    echo 'Взрослый'; // Выводит Взрослый, если возраст больше 18

}
?>

Используя тернарный оператор, тот же код можно записать более компактно:

Пример:

<?php echo ($age < 18) ? 'Ребенок' : 'Взрослый'; ?>

Тернарный оператор в приведенном выше примере выбирает значение слева от двоеточия (т. е. «Ребенок»), если условие оценивается как true (т. е. если $age меньше 18) и значение справа от двоеточия (т.е. «Взрослый»), если условие оценивается как false.

Примечание. Код, написанный с использованием тернарного оператора, может быть трудно читаемым. Тем не менее, он предоставляет способ компактной записи операторов if-else и PHP elseif.

Оператор нулевого коалесцирования в PHP7

В PHP 7 был введен новый оператор нулевого коалесцирования (??), который можно использовать в качестве сокращенного обозначения тройного оператора в сочетании с функцией isset().

Чтобы лучше понять, как это работает, рассмотрим приведенный ниже код. Он извлекает значение $_GET['имя']. Если оно не существует или равно NULL, возвращается 'anonymous'.

Пример:

<?php
$name = isset($_GET['имя']) ? $_GET['имя'] : 'anonymous';
?>

Используя оператор нулевого коалесцирования вместо PHP elseif примера, этот же код можно записать в следующем виде:

Пример:

<?php
$name = $_GET['имя'] ?? 'anonymous';
?>

Второй вариант синтаксиса является более компактным и простым в написании.