Условные операторы в 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