Php if else примеры

Php if else примеры

Условный оператор позволяет пропустить или выполнить некоторый блок кода в зависимости от результата вычисления указанного выражения — условия. Можно сказать, что условный оператор является точкой принятия решения в программе, иногда его также называют оператор ветвления. Если представить, что программа — это дорога, а интерпретатор PHP — путешественник, идущий по ней, то условные операторы можно представить как перекрестки, где программный код разветвляется на две или более дорог, и на таких перекрестках интерпретатор должен выбирать, по какой дороге двигаться дальше.

Оператор if

Оператор if является наиболее простым из операторов ветвлений.

Синтаксис оператора if :

Оператор if сначала вычисляет условное выражение указанное в круглых скобках, результатом этого выражения является булево значение. Если полученный результат является истинным ( true ), то инструкция выполняется. Если выражение возвращает ложное значение ( false ), то инструкция не выполняется. В качестве условия может применяться выражение любой сложности.

Если в теле оператора if используется всего одна инструкция, то заключать ее в фигурные скобки можно, но не обязательно. Однако, если нужно выполнить в теле оператора if не одну инструкцию, а несколько, тогда эти несколько инструкций необходимо заключить в фигурные скобки. Обратите внимание на то, что после закрывающей фигурной скобки не следует ставить точку с запятой.

Следующий код демонстрирует применение оператора if :

Операторы if могут быть вложенными в другие операторы if :

Обратите внимание на последний пример: инструкцию не обязательно надо записывать именно под оператором if , если инструкция не большая по размеру, то ее можно записать и в одну строку.

Оператор if else

И так мы узнали, что оператор if позволяет выполнять инструкции в том случае, если условие истинно. Если же условие оказывается ложно, то никаких действий не выполняется. Однако часто бывает необходимо выполнить одни инструкции, если определенное условие истинно, и другие инструкции, если условие ложно. Именно для таких случаев используется ветвление if else . Оно состоит из оператора if , за которым следует блок инструкций и ключевого слова else , за которым следует другой блок инструкций.

Синтаксис оператора if else :

Оператор else не является обязательным. Блок инструкций расположенный после else выполняется по умолчанию, т.е. когда условное выражение в if возвращает значение false . Оператор else не может быть использован отдельно от оператора if . Блок else должен располагаться только после оператора if , его можно рассматривать, как действие по умолчанию.

Читайте также:  Foreach not applicable to type java

Немного изменив наш предыдущий пример, мы можем увидеть, как работает оператор if else , если условие возвращает значение false :

Оператор if else может быть вложенным. Такие вложенные условные операторы встречаются на практике достаточно часто. Оператор if является вложенным, если он расположен внутри другого блока if или else . Если в коде используется несколько операторов if подряд, то else всегда относится к ближайшему if :

Последний else не относится к if($a) , так как он находится не во внутреннем блоке, поэтому ближайший к нему получается if($i) . Оператор else расположенный внутри блока относится к if($b) , потому что этот if — является ближайшим к нему.

Конструкция elseif/else if

Оператор if/else вычисляет значение условного выражения и выполняет тот или иной фрагмент программного кода. Но что, если требуется выполнить один из многих фрагментов? Если вам нужно проверить несколько условий подряд, то для этого подойдет конструкция elseif или else if (это одна и та же конструкция, просто по разному записана). Формально она не является самостоятельной конструкцией PHP — это лишь распространенный стиль программирования, заключающийся в применении повторяющихся операторов if/else . Она позволяет проверять дополнительные условия, пока не будет найдено истинное или достигнут блок else . Конструкция elseif/else if должна располагаться после оператора if и перед оператором else , если такой имеется.

Здесь проверяется три условия, и, в зависимости от значения переменной $username , выполняются разные действия.

На самом деле в этом фрагменте нет ничего особенного. Это просто последовательность операторов if , где каждый оператор if является частью конструкции else предыдущего if . Для тех кто впервые столкнулся с такой формой записи и ему не очень понятно, как это работает, мы перепишем этот же пример, только в эквивалентной синтаксической форме, полностью показывающей вложенность конструкций:

В этой статье мы расскажем, как использовать операторы if … else … и elseif PHP .

Условные операторы PHP

В PHP есть несколько операторов, которые можно использовать для принятия решений:

  • Оператор if ;
  • Оператор if … else ;
  • Оператор if … elseif …. else ;
  • Оператор switch … case .
Читайте также:  Intel core 2 duo 5600

Ниже мы рассмотрим каждый из этих операторов.

Оператор if

Оператор if ( как и PHP elseif ) используется для выполнения блока кода только в том случае, если указанное условие имеет значение true . Это простейший условный оператор PHP , его можно записать следующим образом:

Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница:

Оператор if … else

Можно усложнить процесс принятия решений, предоставив альтернативный вариант. Для этого к if нужно добавить оператор else . Оператор if … else позволяет выполнить один блок кода, если указанное условие оценивается как true , а другой блок кода, если false .

Его можно записать следующим образом:

Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница. Иначе выводиться « Хорошего дня! ».

Оператор if … elseif … else

if…elseif…else оператор ( не путать с PHP elseif else ) используется для объединения нескольких операторов if … else .

Приведенный ниже код выводит « Хорошего уик-энда! », если сегодня пятница или «Хорошего воскресенья!» если сегодня воскресенье. В противном случае будет выводиться « Хорошего дня! ».

Тернарный оператор

Тернарный оператор предоставляет сокращенный способ написания операторов if … else и elseif PHP . Тернарный оператор обозначается символом вопросительного знака ( ? ). Он принимает три операнда: условие для проверки, результат для true и результат для false .

Чтобы понять, как работает этот оператор, рассмотрим следующие примеры:

Используя тернарный оператор, тот же код можно записать более компактно:

Тернарный оператор в приведенном выше примере выбирает значение слева от двоеточия ( т. е. «Ребенок» ), если условие оценивается как true ( т. е. если $age меньше 18 ) и значение справа от двоеточия ( т.е. «Взрослый» ), если условие оценивается как false .

Примечание . Код, написанный с использованием тернарного оператора, может быть трудно читаемым. Тем не менее, он предоставляет способ компактной записи операторов if-else и PHP elseif .

Оператор нулевого коалесцирования в PHP7

В PHP 7 был введен новый оператор нулевого коалесцирования ( ?? ), который можно использовать в качестве сокращенного обозначения тройного оператора в сочетании с функцией isset() .

Чтобы лучше понять, как это работает, рассмотрим приведенный ниже код. Он извлекает значение $_GET[‘имя’] . Если оно не существует или равно NULL , возвращается ‘ anonymous ‘.

Читайте также:  Asus p5gc mx какие процессоры поддерживает

Используя оператор нулевого коалесцирования вместо PHP elseif примера, этот же код можно записать в следующем виде:

Второй вариант синтаксиса является более компактным и простым в написании.

Данная публикация представляет собой перевод статьи « PHP If…Else Statements » , подготовленной дружной командой проекта Интернет-технологии.ру

(PHP 4, PHP 5, PHP 7)

Конструкция elseif, как ее имя и говорит есть сочетание if и else. Аналогично else, она расширяет оператор if для выполнения различных выражений в случае, когда условие начального оператора if эквивалентно FALSE . Однако, в отличие от else, выполнение альтернативного выражения произойдет только тогда, когда условие оператора elseif будет являться равным TRUE . К примеру, следующий код может выводить a больше, чем b , a равно b или a меньше, чем b :

Может быть несколько 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;

Ссылка на основную публикацию
Adblock detector