Условные операторы в 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: Побитовые операторы
Приведенный ниже код выводит «Хорошего уик-энда!», если сегодня пятница или «Хорошего воскресенья!» если сегодня воскресенье. В противном случае будет выводиться «Хорошего дня!».
Пример:
<?php$d = date("D");if($d == "Fri"){ echo "Хорошего уик-энда!";} elseif($d == "Sun"){ echo "Хорошего воскресенья!";} else{ echo "Хорошего дня!";}?>
Тернарный оператор PHP
Тернарный оператор предоставляет сокращенный способ написания операторов if … else и elseif PHP. Тернарный оператор обозначается символом вопросительного знака (?). Он принимает три операнда: условие для проверки, результат для true и результат для false.
Чтобы понять, как работает этот оператор, рассмотрим следующие примеры:
Пример:
<?phpif($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';?>
Второй вариант синтаксиса является более компактным и простым в написании.
Пример | Название | Результат |
---|---|---|
$a == $b | Равно | true если $a равно $b после преобразования типов. |
$a === $b | Тождественно равно | true если $a равно $b и имеет тот же тип. |
$a != $b | Не равно | true если $a не равно $b после преобразования типов. |
$a <> $b | Не равно | true если $a не равно $b после преобразования типов. |
$a !== $b | Тождественно не равно | true если $a не равно $b, или они разных типов. |
$a < $b | Меньше | true если $a строго меньше $b. |
$a > $b | Больше | true если $a строго больше $b. |
$a <= $b | Меньше или равно | true если $a меньше или равно $b. |
$a >= $b | Больше или равно | true если $a больше или равно $b. |
$a <=> $b | Космический корабль (spaceship) | Число типа int меньше, больше или равное нулю, когда $a соответственно меньше, больше или равно $b. |
Источники:
internet-technologies.ru
php.net