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

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

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

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

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

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

Оператор if

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

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

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

Пример:

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

Оператор if … else

Можно усложнить процесс принятия решений, предоставив альтернативный вариант. Для этого к 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 "Хорошего дня!";
}
?>

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

Тернарный оператор предоставляет сокращенный способ написания операторов 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';
?>

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

Перевод статьи «PHP If…Else Statements» дружной командой проекта Сайтостроение от А до Я.