- Операторы if else PHP
- Условные операторы в PHP
- Оператор if в PHP
- Оператор if . else PHP
- Оператор if . elseif . else
- Тернарный оператор PHP
- Оператор нулевого коалесцирования в PHP7
- Если два условия php
- elseif/else if
- Оператор IF ELSE в PHP
- Конструкция IF ELSE
- Несколько условий с ELSEIF
- Альтернативный синтаксис IF ELSE ENDIF
Операторы 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
elseif , as its name suggests, is a combination of if and else . Like else , it extends an if statement to execute a different statement in case the original if expression evaluates to false . However, unlike else , it will execute that alternative expression only if the elseif conditional expression evaluates to true . For example, the following code would display a is bigger than b , a equal to b or a is smaller than b :
if ( $a > $b ) echo «a is bigger than b» ;
> elseif ( $a == $b ) echo «a is equal to b» ;
> else echo «a is smaller than b» ;
>
?>?php
There may be several elseif s within the same if statement. The first elseif expression (if any) that evaluates to true would be executed. In PHP, it’s possible to write else if (in two words) and the behavior would be identical to the one of elseif (in a single word). The syntactic meaning is slightly different (the same behavior as C) but the bottom line is that both would result in exactly the same behavior.
The elseif statement is only executed if the preceding if expression and any preceding elseif expressions evaluated to false , and the current elseif expression evaluated to true .
Note: Note that elseif and else if will only be considered exactly the same when using curly brackets as in the above example. When using a colon to define if / elseif conditions, the use of elseif in a single word becomes necessary. PHP will fail with a parse error if else if is split into two words.
/* Incorrect Method: */
if ( $a > $b ):
echo $a . » is greater than » . $b ;
else if ( $a == $b ): // Will not compile.
echo «The above line causes a parse error.» ;
endif;
/* Correct Method: */
if ( $a > $b ):
echo $a . » is greater than » . $b ;
elseif ( $a == $b ): // Note the combination of the words.
echo $a . » equals » . $b ;
else:
echo $a . » is neither greater than or equal to » . $b ;
endif;
elseif/else if
Конструкция elseif, как ее имя и говорит есть сочетание if и else. Аналогично else, она расширяет оператор if для выполнения различных выражений в случае, когда условие начального оператора if эквивалентно FALSE . Однако, в отличии от else, выполнение альтернативного выражения произойдет только тогда, когда условие оператора elseif будет являться равным TRUE . К примеру, следующий код может выводить a больше, чем b , a равно b or a меньше, чем b :
if ( $a > $b ) echo «a больше, чем b» ;
> elseif ( $a == $b ) echo «a равен b» ;
> else echo «a меньше, чем b» ;
>
?>?php
Может быть несколько elseif в одном if выражении. Первое же выражение elseif (если будет хоть одно) равное TRUE будет выполнено. В PHP вы также можете написать ‘else if’ (в два слова), и тогда поведение будет идентичным ‘elseif’ (в одно слово). Синтаксически значение немного отличается (если Вы знакомы с языком С, это тоже самое поведение), но в конечном итоге оба выражения приведут к одному и тому же результату.
Выражение elseif выполнится, если предшествующее выражение if и предшествующие выражения elseif эквивалентны FALSE , а текущий elseif равен TRUE .
Замечание: Заметьте, что elseif и else if будут равнозначны только при использовании фигурных скобок, как в примерах выше. Если используются двоеточие для определения условий if/elseif, Вы не должны разделять else if в два слова, иначе это вызовет фатальную ошибку в PHP.
/* Некорректный способ: */
if( $a > $b ):
echo $a . » больше, чем » . $b ;
else if( $a == $b ): // Не скомпилируется.
echo «Строка выше вызывает фатальную ошибку.» ;
endif;
/* Корректный способ: */
if( $a > $b ):
echo $a . » больше, чем » . $b ;
elseif( $a == $b ): // Заметьте, тут одно слово.
echo $a . » равно » . $b ;
else:
echo $a . » не больше и не равно » . $b ;
endif;
Оператор IF ELSE в PHP
Оператор IF позволяет выполнить кусок кода только при выполнении каких-либо условий.
Например, мы можем уведомить пользователя, что дорогие товары доставляются бесплатно:
500 if($price > 500) echo 'Бесплатная доставка!
'; // А этот код выполнится в любом случае echo 'Спасибо за заказ!'; ?>
В примере выше IF выполняет следующую за ним команду, если выражение в круглых скобках принимает значение true.
Для выполнения нескольких команд нужно поместить их в фигурные скобки:
100 if($price > 100) < $price -= 10; echo 'Ваша скидка 10р'; >// А этот код выполнится в любом случае echo 'Спасибо за заказ!'; ?>
Конструкция IF ELSE
Условие может быть выполнено или не выполнено. Иногда возникает необходимость выполнить разный код для этих ситуаций. Для этого в PHP есть конструкция else :
50) echo 'Условие верно.
'; else echo 'Условие неверно.
'; // Для нескольких команд if(200 > 100) < echo 'Условие '; echo 'верно.'; >else < echo 'Условие '; echo 'неверно.'; >?>
Существуют разные стандарты оформления PHP-кода. Если показанный выше кажется вам слишком громоздким, можете писать более компактно:
Несколько условий с ELSEIF
С помощью конструкции elseif мы можем добавлять неограниченное количество условий. Выполнено будет только первое из подходящих условий, остальные будут проигнорированы.
Разработаем систему, которая сама рассчитывает наценку на товар в зависимости от его цены:
В примере выше выполнилось только третье условие. Первые два не соответствовали правилам, а последнее пропущено, поскольку уже выполнилось предыдущее.
Альтернативный синтаксис IF ELSE ENDIF
Нередко возникают ситуации, когда использование фигурных скобок делает код более запутанным. В этом случае удобно использовать альтернативный синтаксис:
Используется такой синтаксис чаще всего в html-шаблонах, чтобы избавиться от фигурных скобок. Для сравнения, тот же кусок кода в обычном синтаксисе:
Выглядит уже менее приятно, а при наличии других операторов с фигурными скобками будет совсем беда. Поэтому при формировании HTML-страниц не забывайте про альтернативный синтаксис.