Php if else примеры. Основы конструкции IF-ELSE в PHP. Вложенные конструкции if-else

Ноя 16 2016

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

If переводится как «если»,

Else переводится как «иначе»,

Логика конструкции условных операторов проста, с такой логикой мы сталкиваемся в жизни каждый день.

Ну, к примеру, такое высказывание:

Если включить свет,
То будет светло.
Иначе
Будет темно.

Слова "если" и "иначе" как раз и являются условными операторами.

В языке программирования то же самое, но условия и события мы устанавливаем сами, используя условные операторы, как творцы наших идей.

если (условие верно) {
происходит какое-то действие;
}
иначе , если условие не верно {
происходит другое действие;
}

Синтаксис PHP будет выглядеть следующим образом:

if (условие верно) {
Выполняется некое действие;
}
else {
Выполняется другое действие, если условие не верно;
}
?>

Ближе к практике.

Пишем сценарий для кнопки с помощью условных операторов.

В папке Open Server -> domains создадим папку и назовём её, к примеру, lesson3. local .

В редакторе создаём файл index. php (синтаксис выставляем PHP) и сохраняем его в папку lesson3. local .

И напишем простую HTML кнопку:




charset ="utf-8" >
<span>Конструкция if else </span>


action ="" method ="POST" >



Для атрибута method в теге form мы поставили значение POST . Это означает, что данные формы будут отправляться методом POST . Подробнее о методах передачи данных мы поговорим в следующих уроках. Что такое action тоже пока не заморачивайтесь.

Если мы откроем index. php через Open Server , то у нас появится просто кнопка, но пока не работающая.

Ну а теперь пишем сам сценарий.

Допустим, мы хотим, чтобы при нажатии на кнопку появлялась фраза «Вы нажали на кнопку».

Логически это будет выглядеть так:

Если (кнопка нажата){
Выводим фразу «Вы нажали на кнопку»;
}

Приблизим выражение к языку PHP, используя условные операторы:

if (кнопка нажата) {
Выводится фраза «Вы нажали на кнопку»;
}
?>

А теперь под HTML пишем сам код PHP:

if (isset ($_POST[ "but" ]));
echo "Вы нажали на кнопку" ;
}
?>

Если этот код перевести с языка PHP на русский, то это будет выглядеть вот так:

Если (установлен (метод формы POST [кнопки с именем ‘but’ ])){
Выводится фраза «Вы нажали на кнопку» ;
}

А если совсем по-русски, то

Если данные формы были отправлены методом POST при нажатии на кнопку с именем but,
то пользователь увидит фразу «Вы нажали на кнопку».

Примерно так должен мыслить программист при написании сценария.

Будьте внимательны, все кавычки и скобки должны быть закрыты.

Пишем сценарий для двух кнопок.

Сценарий будет такой:

Если мы нажимаем кнопку1,
То мы видим сообщение «Вы нажали кнопку1».
Или же, если мы нажали на кнопку2,
То мы увидим сообщение «Вы нажали на кнопку2».




charset ="utf-8" >
<span>Сценарий для двух кнопок </span>


action ="" method ="POST" >





if (isset ($_POST [ "but1" ])){
echo "Вы нажали на кнопку1" ;
}
elseif (isset ($_POST [ "but2" ])){
echo "Вы нажали на кнопку2" ;
}
?>

С кнопками я думаю вы разобрались. Так можно написать сценарии и для трёх кнопок и для 10-ти…

Пишем сценарий приветствия по имени.

Сценарий таков: пользователь вводит своё имя в окошко, и при нажатии на кнопку, появляется фраза приветствия.

Итак, сначала пишем HTML форму.




charset ="utf-8" >
<span>Конструкция if else </span>


action ="" method ="POST" >

Ваше имя


type ="submit" name ="submit" value ="Отправить" >




Сначала мы должны создат ь переменную $name , в неё мы поместим имя, которое введёт пользователь.

$name=$_POST [ "name" ] ;

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

$name=$_POST ["name" ];
if (isset ($_POST ["submit" ])){
echo "Привет" ." " .$name ;
}
?>

Пишем простейший сценарий авторизации.

Допустим, у нас есть всего два пользователя: Вася и Петя. Остальных пользователей система не знает.

Если мы введём имя Вася,
то появится фраза «Привет Вася».
Или же, если мы введём имя Петя,
то появится фраза «Привет Петя».
Иначе, если мы ничего не введём, или введём другое имя,
то появится фраза «Привет гость».




charset ="utf-8" >
<span>Простая авторизация </span>


action ="" method ="POST" >

Ваше имя


type ="submit" name ="submit" value ="Войти" >





$name = $_POST ["name" ];
if ($name = = "Вася" ){
echo "Привет" ." " .$name;
}
elseif ($name = = "Петя" ){
echo "Привет" ." " .$name ;
}
else {
echo "Привет гость" ;
}
?>

Ну и напоследок, заодно вспомните :

Сценарий приветствия в зависимости от времени суток.

$hour = (int)strftime ("%H" );
$welcome = " ";// Инициализируем переменную для приветствия
if ($hour > 0 && $hour <= 6 )
$welcome = "Доброй ночи!" ;
elseif ($hour > 6 && $hour <= 12 )
$welcome = "Доброе утро!" ;
elseif ($hour > 12 && $hour <= 18 )
$welcome = "Добрый день!" ;
elseif ($hour > 18 && $hour <= 23 )
$welcome = "Добрый вечер!" ;
else $welcome = "Добрый вечер!" ;
$header = "$welcome Добро пожаловать на наш сайт!" ;
?>



charset ="utf-8">
<span>Время


<?php echo $header ?>



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

Условный оператор позволяет пропустить или выполнить некоторый блок кода в зависимости от результата вычисления указанного выражения - условия. Можно сказать, что условный оператор является точкой принятия решения в программе, иногда его также называют оператор ветвления. Если представить, что программа - это дорога, а интерпретатор 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 , его можно рассматривать, как действие по умолчанию.

Немного изменив наш предыдущий пример, мы можем увидеть, как работает оператор 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 . Для тех кто впервые столкнулся с такой формой записи и ему не очень понятно, как это работает, мы перепишем этот же пример, только в эквивалентной синтаксической форме, полностью показывающей вложенность конструкций:

Этот урок немножко посложней, чем предыдущий, но не стоит бояться, вы должны перейти на уровень выше в познании PHP. В этой статье речь пойдет о конструкции, которая состоит из нескольких условий. Продолжаем изучать оператора условий if-else для PHP.

Прежде чем мы приступим к продолжению изучения оператора if-else , убедительно рекомендую посмотреть знаки, которые используются в условиях if . Запомните их или запишите:

Равенство: ==
Пример: if ($a == $b)

Не равенство: !=
Пример: if ($a != $b)

Больше: >
Пример: if ($a > $b)

Меньше: <
Пример: if ($a < $b)

Больше или равно: >=
Пример: if ($a >= $b)

Меньше или равно: <=
Пример: if ($a <= $b)

Логическое «и»: and
Пример: if ($a ==$b and $c !=$d)

Логическое «или»: or , ||
Пример: if ($a ==$b || $c !=$d)

Вот теперь продолжим.

Двойное условие if-else

Где можно его применить? Когда я создавал для одного сайта админ-панель, то использовал двойное условие для проверки логина и пароля.
Чтобы создать двойное условие, нужно добавить еще две переменные, например: $k = 55; $n = 88.
Это будет выглядеть вот так:

if ($a != $b and $k != $n)

and – вы уже знаете, что это означает логическое «и ».

Как это будет выглядеть в PHP-коде:

основы php на сайт

Разъяснение:
Смотрите, в условии мы указали, что если переменные $a с $b равны ($a == $b) и переменные $k с $n не равны ($k != $n) , условие будет считаться правильным. А если условие правильное, значит, будет работать эта часть кода:

{
echo "Все ОK:)";
}

Введите в браузере адрес:

Результат:

Если значение переменой $a поменять на противоположное значение переменной $b , то условие будет невыполнимо! Почему? Да потому, что переменные ($a == $b) не равны между собой. Если условие не выполнено, будет работать другая часть кода:

else
{
echo "Не все ОК: (";
}

Как это выглядит в PHP-коде:

основы php на сайт

Сохраните код PHP как «if-else.php » в папку «test-1 » локального сервера (см. урок 1).

Введите в браузере адрес:

https://localhost/test-1/if-else.php

Результат:

Вложенные конструкции if-else .

Что называют вложенными конструкциями if-else ? Это такие конструкции, которые состоят из нескольких условий.

Теперь рассмотрим вложенные конструкции if-else . Такие конструкции могут состоять из нескольких условий в выполняемых правилах. Для примера добавим еще две переменные $familiya1 и $familiya2 :

$familiya1 =" ivanov ";
$familiya2 =" sidarov ";

Как это выглядит в PHP-коде:

основы php на сайт В переменных familiya1 и familiya2 содержатся разные фамилии."; } else { echo "Не так все плохо, как вам кажется:(
В переменных familiya1 и familiya2 содержатся одинаковые фамилии."; } } else { echo "Не все ОК:("; } ?>

Разъяснение:
Смотрите, здесь были выполнены все условия

If ($a == $b and $k != $n)

Переменная $a равная с переменной $b и переменная $k не равная с $n . Здесь условия были выполнены, а это значит, что будет работать эта часть кода:

if ($familiya1 != $familiya2)
{
echo " Все ОK:)
";
}

Так как переменные $familiya1 и $familiya2 между собой не равны и это правда,

$familiya1="ivanov ";
$familiya2="sidarov ";

то будет работать вот эта часть кода:

{
echo " Все ОK:)
В переменных familiya1 и familiya2 содержатся разные фамилии. ";
}

Смотрим результат! Сохраните код PHP как «if-else.php » в папку «test-1 » локального сервера (см. урок 1).

Введите в браузере адрес:

https://localhost/test-1/if-else.php

Результат:

Если в переменных $familiya1 и $familiya2 сделать значение одинаковыми:

$familiya1="sidarov ";
$familiya2="sidarov ";

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

if ($familiya1 != $familiya2)

Вот по этой причине будет работать вот эта часть кода:

Else
{
echo " Не так все плохо, как вам кажется: (

В переменных familiya1 и familiya2 содержатся одинаковые фамилии. ";
}

В результате на мониторе вы увидите картинку:

Вот мы и закончили полностью тему «Оператор условия if-else для PHP ». Чтобы закрепить «Урок 5» и «Урок 6», рекомендую самостоятельно поработать над созданием собственных условий.

А я пойду готовить для вас новые уроки по основам PHP. Подписывайтесь на обновления блога, если не хотите пропустить уроки по PHP.
Всего хорошего!

(PHP 4, PHP 5, PHP 7)

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" ;
}
?>

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, you can also 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 (if you"re familiar with C, this is the same behavior) 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 your if /elseif conditions, you must not separate else if into two words, or PHP will fail with a parse error.

/* Incorrect Method: */
if ($a > $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;

Итак, как создавать и выводить переменные мы уже знаем. Также уже имеем четкое представление как в PHP переменные между собой взаимодействуют. Теперь настало время перейти к очень важной в PHP конструкции IF-ELSE (если — иначе).

Привожу рабочий синтаксис данной конструкции:

IF (условие) — если условие истина, то выполняются
{
действия
}
else — если условие ложь, то выполняются
{
действия
}
?>

Работу конструкции рассмотрим на конкретном примере:

$c = 3;
$d = 5;
if ($c ==$d)
{
echo «Переменные равны»;
}
else
{
echo «Переменные не равны»;
}
?>

Видно, что в начале мы присвоили переменным $c и $d разные значения. Затем задаем условие и проверяем — равны ли данные переменные между собой. И так как они не равны, срабатывает часть else и оператор вывода echo. То есть результатом выполнения данного кода будет надпись на экране — Переменные не равны. Если есть вопросы задавайте! С радостью отвечу на них.

Двойные условия IF-ELSE

Представленный выше синтаксис также может называться конструкцией IF-ELSE с одним условием. А теперь усложним пример, который я представлял выше, и добавим еще 1 условие. Для этого создадим еще 1 пример, но уже применим двойные условия IF-ELSE.

$c = 3;
$d = 5;
$e = 8;
$k = 10;
if ($c !=$d and $e !=$k)
{
echo «Переменные не равны»;
}
else
{
echo «Переменные равны»;
}
?>

Хочу заметить, что!= — в php означает — «не равно».
Двойные условия в php создаются с помощью логических функций:

  • and (логическое и, также php позволяет написать вместо and — &&);
  • or (логическое или, также php позволяет написать вместо or — ||).

Результат выполнения нашей программы — вывод на экран сообщения — Переменные не равны.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: