Операторы 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';
?>
Второй вариант синтаксиса является более компактным и простым в написании.