Операторы 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 . else PHP
Можно усложнить процесс принятия решений, предоставив альтернативный вариант. Для этого к if нужно добавить оператор else . Оператор if . else позволяет выполнить один блок кода, если указанное условие оценивается как true , а другой блок кода, если false .
Его можно записать следующим образом:
Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница. Иначе выводиться « Хорошего дня! ».
Оператор if . elseif . else
if. elseif. else оператор ( не путать с PHP elseif else ) используется для объединения нескольких операторов if . else .
if(условие) < // Код, который будет выполнен, если условие истинно >elseif(условие) < // Код, который будет выполнен, если условие истинно >else< // Код, который будет выполнен, если условие ложно >
Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница или «Хорошего воскресенья!» если сегодня воскресенье. В противном случае будет выводиться « Хорошего дня! ».
Тернарный оператор PHP
Тернарный оператор предоставляет сокращенный способ написания операторов if . else и elseif PHP . Тернарный оператор обозначается символом вопросительного знака ( ? ). Он принимает три операнда: условие для проверки, результат для true и результат для false .
Чтобы понять, как работает этот оператор, рассмотрим следующие примеры:
Используя тернарный оператор, тот же код можно записать более компактно:
Тернарный оператор в приведенном выше примере выбирает значение слева от двоеточия ( т. е. «Ребенок» ), если условие оценивается как true ( т. е. если $age меньше 18 ) и значение справа от двоеточия ( т.е. «Взрослый» ), если условие оценивается как false .
Примечание . Код, написанный с использованием тернарного оператора, может быть трудно читаемым. Тем не менее, он предоставляет способ компактной записи операторов if-else и PHP elseif .
Оператор нулевого коалесцирования в PHP7
В PHP 7 был введен новый оператор нулевого коалесцирования ( ?? ), который можно использовать в качестве сокращенного обозначения тройного оператора в сочетании с функцией isset() .
Чтобы лучше понять, как это работает, рассмотрим приведенный ниже код. Он извлекает значение $_GET[‘имя’] . Если оно не существует или равно NULL , возвращается ‘ anonymous ‘.
Используя оператор нулевого коалесцирования вместо PHP elseif примера, этот же код можно записать в следующем виде:
Второй вариант синтаксиса является более компактным и простым в написании.
Вадим Дворников автор-переводчик статьи « PHP If…Else Statements »
Дайте знать, что вы думаете по данной теме материала в комментариях. Мы очень благодарим вас за ваши комментарии, отклики, подписки, лайки, дизлайки!
Условные операторы PHP
В сценариях PHP условные операторы обеспечивают основу для принятия решений. Условные операторы по существу управляют тем, будет ли выполняться часть сценария в зависимости от результата конкретного выражения (т.е. возвращает ли выражение логическое значение true или false ).
PHP-оператор if
Основным строительным блоком условного кодирования в PHP является оператор if . Первая строка такого блока состоит из оператора if , за которым следует выражение в круглых скобках () . Например:
Второй шаг в создании оператора if включает в себя указание инструкции в фигурных скобках <> , которая должна быть выполнена, если выражение в круглых скобках () оценивается как истинное true :
В приведенном выше примере, если значение переменной $myVar оценивается как больше 2, то выражение будет оценено как истинное (true) и инструкция выполняется. Если выражение возвращает ложное значение (false) , то инструкция не выполняется.
Следует отметить, что если в теле оператора if выполняется только одна строка сценария, то фигурные скобки необязательны:
if ($myVar > 2) echo 'Значение myVar больше 2';
Однако, если нужно выполнить в теле оператора if несколько инструкций, тогда эти несколько сценариев необходимо заключить в фигурные скобки:
Пример
$myVar = 10;
if ($myVar > 2) < echo 'Значение myVar больше 2
';
$myVar ++;
echo "$myVar";
>
?>
Результат выполнения кода:
Обратите внимание на то, что после закрывающей фигурной скобки не следует ставить точку с запятой.
Операторы if могут быть вложенными в другие операторы if :
Пример
$x = 0;
$y = 50;
$c = 10;
$d = 15;
// Если выражение "c == 10" возвращает true
if($c == 10)
// то выполняется проверка условного выражения вложенного оператора if
if ($d < 20) echo ($x = $y);
?>
Результат выполнения кода:
Обратите внимание на последнюю строку примера: инструкцию не обязательно надо записывать именно под оператором if , если инструкция не большая по размеру, то ее можно записать и в одну строку.
Примечание: Хотя игнорирование фигурных скобок допускается в PHP, настоятельно рекомендуется использовать фигурные скобки даже для одной строки сценария после оператора if . Это упрощает чтение кода и позволяет избежать распространенной ошибки, связанной с последующим добавлением новых команд, условных для оператора if , и забвением добавления фигурных скобок.
Оператор if . else
Мы уже знаем, что оператор if позволяет выполнять сенарий в том случае, если условие истинно. Если же условие ложно, то сценарий не выполняется. Однако часто бывает необходимо выполнить одни сценарии, когда определенное условие истинно, и другие сценарии, если условие ложно. Здесь в игру вступает конструкция if . else .
Синтаксис if . else такой же, как и для оператора if , за исключением того, что оператор else может использоваться для указания альтернативного действия:
Пример
$hisName = "Игорь";
if ($hisName == "Вася") echo "Привет, Вася!";
> else echo "Ты не Вася! Где Вася?";
>
?>
Результат выполнения кода:
Как показано в приведенном выше примере, сценарий, следующий за оператором if , выполняется, когда выражение оценивается как истинное (т.е. переменная $hisName содержит строку «Игорь»), а сценарий после оператора else выполняется, если значение $hisName не соответствует строке «Игорь».
Примечание: Оператор else не может быть использован отдельно от оператора if . Оператор else нужно располагать только после оператора if , его можно рассматривать, как действие по умолчанию.
Оператор if . else может быть вложенным. Оператор if является вложенным, если он расположен внутри другого блока if или else . Если в PHP-коде используется несколько операторов if , то оператор else всегда относится к ближайшему if :
if($x) < // внутренний блок if($x) if($a) инструкция; if($b) инструкция; else инструкция; // этот else относится к if($b) - так как он ближе >else инструкция; // этот else относится к if($x)
Последний оператор else не относится к if($a) , так как он не расположен во внутреннем блоке, поэтому ближайшим к нему получается if($x) . Оператор else расположенный внутри блока относится к if($b) , потому что этот if является ближайшим к нему.
Оператор if . elseif . else
Если вам нужно проверить несколько условий подряд, то для этой цели подойдет оператор elseif или else if (это одна и та же конструкция, которая по разному записана). Она не является самостоятельной конструкцией PHP — это стиль программирования, заключающийся в применении повторяющихся операторов if/else .
Синтаксис
if (условие) < код, который будет выполняться, если это условие истинно; >elseif (условие) < код, который будет выполняться, если первое условие ложно, а это условие истинно; >else
Пример
$hisName = "Игорь";
if ($hisName == "Вася") < echo "Привет, Вася!";
>
elseif ($hisName == "Петя") echo "Привет, Петя!";
>
else echo "Ты не Вася и не Петя!";
>
?>
Результат выполнения кода: