Условный оператор if else. Условные операторы Вложенные условия if в php
Ноя 16 2016С помощью условных операторов if, else, elseif можно составить логическую конструкцию и написать сценарий для чего угодно. Если мы переведём названия этих условных операторов , то сразу поймём о чём идёт речь.
If переводится как «если»,
Else переводится как «иначе»,
Логика конструкции условных операторов проста, с такой логикой мы сталкиваемся в жизни каждый день.
Ну, к примеру, такое высказывание:
Если
включить свет,
То
будет светло.
Иначе
Будет темно.
Слова "если" и "иначе" как раз и являются условными операторами.
В языке программирования то же самое, но условия и события мы устанавливаем сами, используя условные операторы, как творцы наших идей.
если
(условие верно) {
происходит какое-то действие;
}
иначе
, если условие не верно {
происходит другое действие;
}
Синтаксис PHP будет выглядеть следующим образом:
if
(условие верно) {
Выполняется некое действие;
}
else
{
Выполняется другое действие, если условие не верно;
}
?>
Ближе к практике.
Пишем сценарий для кнопки с помощью условных операторов.
В папке Open Server -> domains создадим папку и назовём её, к примеру, lesson3. local .
В редакторе создаём файл index. php (синтаксис выставляем PHP) и сохраняем его в папку lesson3. local .
И напишем простую HTML кнопку:
charset ="utf-8" >
Для атрибута 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" >
if (isset ($_POST [ "but1" ])){
echo "Вы нажали на кнопку1" ;
}
elseif (isset ($_POST [ "but2" ])){
echo "Вы нажали на кнопку2" ;
}
?>
С кнопками я думаю вы разобрались. Так можно написать сценарии и для трёх кнопок и для 10-ти…
Пишем сценарий приветствия по имени.
Сценарий таков: пользователь вводит своё имя в окошко, и при нажатии на кнопку, появляется фраза приветствия.
Итак, сначала пишем HTML форму.
charset ="utf-8" >
Сначала мы должны создат ь переменную $name , в неё мы поместим имя, которое введёт пользователь.
$name=$_POST [ "name" ] ;
А затем под формой HTML мы напишем уже знакомую нам конструкцию, используя условный оператор if:
$name=$_POST
["name"
];
if
(isset
($_POST
["submit"
])){
echo
"Привет"
." "
.$name
;
}
?>
Пишем простейший сценарий авторизации.
Допустим, у нас есть всего два пользователя: Вася и Петя. Остальных пользователей система не знает.
Если мы введём имя Вася,
то появится фраза «Привет Вася».
Или же, если мы введём имя Петя,
то появится фраза «Привет Петя».
Иначе, если мы ничего не введём, или введём другое имя,
то появится фраза «Привет гость».
charset ="utf-8" >
$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">
<?php echo $header ?>
Таким образом, можно придумать множество сценариев, используя условные операторы if, else, elseif. Так что, потренируйтесь, советую вам набирать код руками, а не копировать его, так вы быстрее освоите язык PHP.
На уроке будут рассмотрены условные операторы php: оператор if и оператор переключения switch
Условные операторы php представлены тремя основными конструкциями:
- оператор условия if ,
- оператор переключения switch
- и тернарный оператор .
Рассмотрим подробнее каждый из них.
PHP оператор if
Рис 3.1. Условный оператор IF, укороченный вариант
Рис. 3.2. Синтаксис условного оператора IF ELSE
Рис. 3.3. Полный синтаксис условного оператора IF elseif
Подытожим:
Полный синтаксис:
if (условие) { // если условие истинно operator1; operator2; } elseif(условие) { operator1; ... } else { // если условие ложно operator1; operator2; }
- Укороченный синтаксис может не содержать части конструкции с else и не содержать дополнительного условия elseif
- Вместо служебного слова elseif можно писать else if (отдельно)
- В одной конструкции if может быть несколько elseif . Будет выполнено первое встретившееся выражение elseif равное TRUE .
- В случае наличия альтернативного условия elseif конструкция else должна идти последней в синтаксисе.
В условном операторе может использоваться двоеточие: вместо фигурных скобок. В таком случае заканчивается оператор служебным словом endif
Рис. 3.4. Условный оператор If и Endif в php
Пример:
if($x > $y): echo $x." больше, чем ".$y; elseif($x == $y): // при использовании ":" нельзя писать раздельно else if echo $x." равно ".$y; else: echo $x." не > и не = ".$y; endif;
Важно: При использовании в конструкции двоеточия вместо фигурных скобок elseif нельзя писать в два слова!
Логические операции в условии
В условии if в скобках могут присутствовать следующие операции:
Пример: проверить значение числовой переменной: если оно меньше либо равно 10, — выдавать сообщение «число меньше или равно 10» , в обратном случае выдавать сообщение «число больше 10»
Решение:
$number=15; if ($number <=10) { echo "число меньше или равно 10"; } else { echo "число больше 10"; }
Блоки php кода можно разрывать, рассмотрим пример:
Пример: Выводить на экран html-код «а равно 4» , если переменная $a действительно равна 4
1 Решение:
1 2 3 4 |
2 Решение:
1 2 3 | A равно 4 |
A равно 4
Задание php 3_1: Выводить перевод цветов с английского языка на русский, проверяя значение переменной (в которой присвоен цвет: $a="blue")
Задание php 3_2: Найти максимальное из трех чисел
Операции сравнения и правило лжи
В конструкции if в скобках должно находиться логическое выражение или переменная, которые рассматриваются с точки зрения алгебры логики, возвращающая значения либо true либо false
Т.е. в качестве условия может выступать единственная переменная. Рассмотрим пример:
1 2 3 4 | $a = 1 ; if ($a ) { echo $a ; } |
$a=1; if ($a) { echo $a; }
В примере транслятор языка php будет рассматривать переменную в скобках на правило лжи:
Правило ЛЖИ или что считается ложным:
- логическое False
- целый ноль (0 )
- действительный ноль (0.0 )
- пустая строка и строка «0»
- массив без элементов
- объект без переменных
- специальный тип NULL
Таким образом, в рассмотренном примере переменная $a равна единице, соответственно условие будет истинным и оператор echo $a; выведет на экран значение переменной.
Задание php 3_3: дана переменная а со строковым значением. Если а равна имени, то выводить «Привет, имя!» , если а равна пустому значению, то выводить «Привет, незнакомец!»
Логические конструкции И ИЛИ и НЕ в условном операторе
- Иногда необходимо предусмотреть выполнение одновременно нескольких условий. Тогда условия соединяются логическим оператором И — && :
- Для указания ложности условия используется логический оператор НЕ — ! :
$a=1; if ($a>0 || $a>1) { echo "a > 0 или a > 1"; }
1 2 3 4 | $a = 1 ; if (! ($a < 0 ) ) { echo "a не < 0" ; } |
$a=1; if (!($a<0)) { echo "a не < 0"; }
Оператор Switch PHP
Оператор switch или «переключатель» заменяет несколько подряд идущих конструкций if . При этом он сравнивает одну переменную с множеством значений. Таким образом, это наиболее удобное средство для организации мультиветвления .
Синтаксис:
1 2 3 4 5 6 7 8 9 10 switch ($переменная ) { case "значение1" : оператор1 ; break ; case "значение2" : оператор2 ; break ; case "значение3" : оператор3 ; break ; [ default : оператор4 ; break ; ] } switch($переменная){ case "значение1": оператор1; break; case "значение2": оператор2; break; case "значение3": оператор3; break; }
- Оператор может проверять как строковые значения (тогда они указываются в кавычках), так и числовые (без кавычек).
- Оператор break в конструкции обязателен. Он осуществляет выход из конструкции при истинном условии и выполнении соответствующего условию оператора. Без break будут выполняться операторы всех case независимо от их истинности.
Рис. 3.5. Условный оператор Switch
Пример: задан массив с полными мужскими именами. Проверять первый элемент массива и в зависимости от имени, выдавать приветствие с коротким именем.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $names = array ("Иван" , "Петр" , "Семен" ) ; switch ($names [ 0 ] ) { case "Петр" : echo "Привет, Петя!" ; break ; case "Иван" : echo "Привет, Ваня!" ; break ; case "Семен" : echo "Привет, Ваня!" ; break ; default : echo "Привет, $names !" ; break ; } |
$names=array("Иван","Петр","Семен"); switch($names){ case "Петр": echo "Привет, Петя!"; break; case "Иван": echo "Привет, Ваня!"; break; case "Семен": echo "Привет, Ваня!"; break; default: echo "Привет, $names!"; break; }
Задание php 3_4:
- Создайте переменную $day и присвойте ей произвольное числовое значение
- С помощью конструкции switch выведите фразу «Это рабочий день» , если значение переменной $day попадает в диапазон чисел от 1 до 5 (включительно)
- Выведите фразу «Это выходной день» , если значение переменной $day равно числам 6 или 7
- Выведите фразу «Неизвестный день» , если значение переменной $day не попадает в диапазон чисел от 1 до 7(включительно)
Дополните код:
1 2 3 4 5 6 7 8 9 10 11 12 | ... switch (... ) { case 1 : case 2 : ... echo "Это рабочий день" ; break ; case 6 : ... default : ... } |
Switch(...){ case 1: case 2: ... echo "Это рабочий день"; break; case 6: ... default: ... }
Тернарный оператор PHP
Тернарный оператор , т.е. с тремя операндами, имеет достаточно простой синтаксис, в котором слева от знака? записывается условие, а справа — два оператора разделенные знаком: , слева от знака выполняется оператор при истинности условия, а справа от знака: выполняется оператор при ложном условии.
условие? оператор1 : оператор2 ;
В некоторых источниках говорится, что оператор выбора if else — самостоятельный оператор. Но это не так, if else — это всего лишь форма записи оператора выбора if . Оператор if else позволяет определить программисту действие, когда условие истинно и альтернативное действие, когда условие ложно. Тогда как if позволял определить действие при истинном условии.
Синтаксис записи оператора выбора if else:
If (/*проверяемое условие*/) { /*тело оператора выбора 1*/; } else { /*тело оператора выбора 2*/; }
Читается так: «Если проверяемое условие истинно, то выполняется тело оператора выбора 1 , иначе (то есть проверяемое условие ложно) выполняется тело оператора выбора 2 «. Обратите внимание на то, как записан оператор if else . Слово else специально сдвинуто вправо для того чтобы программный код был понятен и его было удобно читать.
Рассмотрим задачу с предыдущей темы, с использованием if else . Напомню условие задачи: «Даны два числа, необходимо их сравнить».
// if_else.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include
В данном коде нас интересуют строки 14-20 . Эти строки читаются так: если a (первое число) больше либо равно b (второе число), то выполнить оператор вывода в строке 16
Cout << a << " >= " << b << endl;
иначе выполнить оператор вывода в строке 19
Cout << a << " <= " << b << endl;
В данном ифе мы используем операции соотношений >= и <= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, строку 19 нужно записать так
Cout << a << " < " << b << endl; // в кавычках записать не меньше или равно, а просто меньше.
А вот так сработала программа (см. Рисунок 1).
Vvedite pervoe chislo: 15 Vvedite vtoroe chislo: -4 15 >= -4 Для продолжения нажмите любую клавишу. . .
Рисунок 1 — Оператор выбора if else
Покажу еще один пример использования операторов выбора if else (так называемые вложенные операторы if else для множественного выбора).
Условие задачи:
Составить алгоритм находящий значение y, если у=х, при х<0; у=0, при 0<=х<30; у=х 2 , при х>=30;
// inif_else.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include
В данной задаче возможны три случая:
1-й случай: х < 0 ;
2-й случай: х лежит в пределах от 0 (включая 0) до 30;
3-й случай: х больше или равен 30.
Заметьте новшество!! В 17 строке такую запись: if ((x >= 0) && (x< 30)) , я использовал символы && — это . Операция логического И && необходима для объединения нескольких простых условий в одно составное. В нашем случае необходимо проверить истинность двух условий: первое – x >= 0 , второе – х < 30 . Все проверяемое условие будет истинно, если истинны два простых условия. В математике правильной записью считается такая запись: 0 <= x < 30 , а в С++ правильной записью считается вот такая запись: (x >= 0) && (x < 30) или такая 0 <= x && x < 30 . Кстати круглые скобочки () && () не обязательны, так как условия простые, но для уверенности, я прописываю, всегда, данные скобочки и вам советую.
Разбор частного случая:
Допустим, пользователь ввел число 31. Начиная со строки 12 , выполняется проверка условий. Читается так: «Если х (31 в нашем случае) < 0, то выполнить оператор в строке 14 ». Но так как 31 > 0 условие ложно мы переходим к слову else (иначе) строка 15 . Дальше проверяем, входит ли число 31 в заданный интервал. Читается так: если х>=0 и х<30 то выполнить оператор в строке 19 . Но так как число 31 не входит в заданный интервал, то условие ложно. Подробно строка 17 : программа сначала проверит первое простое условие х >= 0 – оно истинно, а если первое истинно, то программа перейдет к проверке второго простого условия х < 30 – оно ложно. Следовательно всё составное условие ложно, ведь в составном условии у нас используется логическая операция && , а это значит, что все составное условие истинно только в том случае, когда истинны оба простых условия. Переходим к else (иначе), здесь у нас последний if , (строка 22 ). Выполняется проверка х >= 30 . Читается так: Если х >= 30 то выполнить оператор, находящийся в строке 24 . Наконец-то условие истинно, итак выполнился оператор в строке 24 . И строка 28 печатает получившееся значение. Ну, все, рассмотрели программу по мельчайшим деталям. Результат работы программы, в случае, если пользователь ввел число 31 (см. Рисунок 2)
Как и в других языках программирования, в PHP существуют операторы выбора. Всего их три вида:
- условный оператор if...else ;
- переключатель switch ;
- условная операция (? );
Стоит отметить, что в PHP отсутствует безусловный переход по метке goto , но несмотря на это, ключевое слово под goto зарезервировано.
В этом уроке мы рассмотрим условный оператор if...else и условные операции, а следующий урок будет посвящен переключателю switch .
Синтаксис if...else такой же, как и в языке С:
//в случае если uslovie истинно, то мы попадаем сюда operator1; //в случае одного оператора, operator2; ... } else // не является обязательным {//в случае если uslovie ложно, то мы попадаем сюда operator3; //в случае одного оператора, operator4; //фигурные скобки необязательны ... } ?>
Примечания:
- else - не обязательная часть, но чаще всего её применяют, т.к. этого требует логика.
- Как было отмечено в комментариях к коду, фигурные скобочки {} не обязательны, если у нас только один оператор. Поскольку условие может быть либо истинным (1), либо ложным (0), то будет выполнены либо operator1, operator2 и т.д., либо operator3, operator4 и т.д.
Приведем конкретный пример на PHP:
//Задание значений переменных $num1 = 10; $num2 = 7; if ($num1 > $num2) {//условие истинно, значит попадаем сюда echo "Условие истинно, поскольку 10 > 7
"; $num1+=$num2; // прибавим к $num1 переменную $num2; echo "\$num1 = ". $num1; // результатом будет 17 } else echo "Поскольку условие положительное, то сюда мы не попадаем"; // В else только один оператор, поэтому фигурные скобки отсутствуют ?>
Приведем пример, в котором конструкция else опущена, а условие состоит из двух условий:
6) echo "Условия истинны"; //Другой пример: if ($num1 == 10 || $num2 >= 100) echo "Условия истинны"; //Во всех случаях условия истинны ?>
Вложенные условия if
Как и в языке С, в PHP допускается использование вложенных в друг друга условий:
//если uslovie1 и uslovie2 истинны, то попадаем сюда } else { //если uslovie1 истинно, а uslovie2 ложно, то попадаем сюда } else { //если uslovie1 и uslovie2 ложно, то попадаем сюда } ?>
Вложений if в if можно написать сколь угодно много, но такие конструкции очень сложны, поэтому при отладке программы разобраться в них будет довольно трудно. Приведем пример с вложенными операторами if :
// в результате этого скрипта будет выведено сообщение: // $flag1 - истина, а $flag2 - ложь ?>
Вложенные условия с помощью if...elseif...else
В PHP есть возможность использовать вложенные условные операторы с помощью схемы: if...elseif...else . Это гораздо удобней, чем делать первоначально множество условий, а потом к ним множество else . Синтаксис конструкции if...elseif...else следующий:
В такой конструкции else может быть написан только один раз, а вот elseif сколько угодно. Также считается, что выше описанная конструкция уступает переключателю switch .
Использование оператора endif
Практически в любом движке созданном на PHP используется оператор endif . Конструкция данного оператора приведена ниже:
... html-теги и контент; ... ... html-теги и контент; ...
Стоит обратить внимание на удобство этой конструкции, чем если бы мы выводили весь контент через echo . Не забывайте после условия ставить двоеточие!
Использование условных операций (?)
Применение условных операций не является распространенным подходом не только в языке PHP, но и в других подобных языках, однако о них не стоит забывать. Синтаксис условной операции следующий:
Сначала идет какое-то условие. Если оно истинно, то выполняется оператор_1, иначе оператор_2. Я думаю, что конструкция не является очень понятной, поэтому стоит привести пару разъясняющих примеров на PHP. Например, с помощью условной операции можно легко реализовать модуль числа:
Условные операции бывает выгодно использовать в каких-то коротких выражениях, где нужно изменить значение только одной переменной в зависимости от какого условия.
Главное в действие данное оператора - это условие. if в переводе с английского значит если . Условие принимается в качестве аргумента (то что в скобках). В качестве условия может выступать логическое выражение или логическая переменная. Если проще, то смысл выражения будет такой:
If (условие){
условие выполнено, делаем так
}
else
{
условие не выполнено, делаем иначе
}
Надеюсь логика условной операции понятна. Теперь давайте рассмотрим пример.
$a = 5;
$b = 25;
// Теперь внимание! Условие: Если $b больше $a
// Знаки > и < , как и в математике, обозначают больше и меньше
if($b > $a)
{
// если условие выполнено, то выполняем это действие
echo "$b больше $a";
}
else
{
// если не выполнено, то это
echo "$a больше или равно $b";
}
?>
Демонстрация
Скачать исходники
В итоге скрипт выведет 25 больше 5
. Пример довольно прост. Надеюсь всё понятно. Теперь предлагаю рассмотреть ситуацию сложнее, где нужно соблюсти несколько условий. Каждое новое условие будет содержать после основного условия if()
- вспомогательное, которое записывается как else if()
. В конце как обычно будет else
.
Задача: В школе проводят тестирование. Скрипту нужно высчитать балл, зная условия получения каждой оценки и сам балл школьника. Давайте посмотрим как это записать, и не забудьте прочитать комментарий.
$test = 82; // допустим школьник написал тест на 82 балла
// первое условие напишем для пятёрки
if($test > 90)
{
// если условие соблюдено, то выполняем это действие.
echo "Оценка 5";
}
// Знак && обозначает "и, объединение", что условие соблюдено если и то, и то верно
// то есть балл меньше 91 и больше 80, тогда 4. Иначе условия считываются дальше
else if ($test < 91 && $test > 80)
{
echo "Оценка 4";
}
else if ($test < 81 && $test > 70)
{
echo "Оценка 3";
}
else
{
echo "Надо бы ещё раз написать тест...";
}
?>
Демонстрация
Скачать исходники
Наш школьник, который успевает и отдохнуть, и написать нормально тест получает оценку 4
! А принцип работы надеюсь понятен.
Возможна и короткая запись работы условной операции, когда Вам нужно действие только в случае соблюдения условия.
$age = 19; // переменная с возрастом
If ($age > 17){
echo "Всё! Мне можно делать всё что угодно! Мне уже $age!";
}
Вполне себе милый пример короткой записи условной операции. else
писать не обязательно.
Операторы сравнения в PHP
Принцип работы условной операции понятен. Но, как Вы понимаете, способов сравнить намного больше. Давайте посмотрим ниже на таблицу с операторами сравнения.Пример Название Результат
$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
Теперь рассмотрим операторы на примерах
:
// вопреки привычке = значит присваивание значение переменной, а == как равно
if ($a == 5){
echo "$a равно 5"; // выведет "5 равно 5"
} else {
echo "$a не равно 5";
}
If ($a != 6){
echo "$a не равно 6"; // выведет "5 не равно 6". Нужно в случае отрицания
} else {
echo "$a каким-то образом равно 6";
}
// с больше и меньше думаю всё понятно. Поэтому пример сложнее
if ($a <= 6){
echo "$a меньше или равно 6"; // выведет "5 меньше или равно 6"
} else {
echo "$a больше 6";
}
Логические операторы PHP
Бывают случаи, когда нужно сравнить не одну переменную, а сразу две и более в одном условии. Для этого существуют логические операторы .Пример Название Результат
$a and $b Логическое "и" TRUE если и $a, и $b TRUE.
$a or $b Логическое "или" TRUE если или $a, или $b TRUE.
$a xor $b Исключающее "или" TRUE если $a, или $b TRUE, но не оба.
! $a Отрицание TRUE если $a не TRUE.
$a && $b Логическое "и" TRUE если и $a, и $b TRUE.
$a || $b Логическое "или" TRUE если или $a, или $b TRUE.
Уже обратили внимание, что для операций и
и или
есть дополнительные операторы? Так сделано для того, чтобы расставить приоритеты в сложных операциях сравнения. В таблице логические операторы приведены в порядке приоритета: от меньшего к большему, то есть, например, || имеет больший приоритет, чем or.
Переходим к примерам
$a = 5;
$b = 6;
$c = 7;
// условие: Если 5 не равно 6 (ВЕРНО) И 6 не равно 7 (ВЕРНО)
if ($a < 6 && $b != $c){
echo "Действительно так!"; // выведет "Действительно так!" т.к. ОБА условия ВЕРНЫ
} else {
echo "Одно из условий не верно";
}
// условие: Если 6 не равно 6 (НЕВЕРНО) ИЛИ 6 не равно 7 (ВЕРНО)
if ($b != 6 || $b != $c){
echo "Всё так!"; // выведет "Всё так!", т.к. хотя бы ОДНО из условий ВЕРНО
} else {
echo "Оба условия не верны";
}
Тернарный оператор
К вопросу тернарного кода я предлагаю Вам вернуться позже. Вовсе не упомянуть его я не мог, так как это важная конструкция, которая существенно сокращает размер кода. Предлагаю сразу рассмотреть код.Суть кода: (условие) ? значение a если true: значение a если false
Таким образом, мы сокращаем запись оператора if. Однако, данная операция действительна только с присваиванием значений переменной. Теперь давайте рассмотрим готовый пример.
// Пример использования тернарного оператора
$settings = (empty($_POST["settings"])) ? "По умолчанию" : $_POST["settings"];
// Приведенный выше код аналогичен следующему блоку с использованием if/else
if (empty($_POST["settings"])) {
$settings = "По умолчанию"; // Если ничего не передано, то оставляем "По умолчанию"
} else {
$settings = $_POST["settings"]; // Если передано, то $settings присваивается переданное значение.
}
?>
Прочитайте комментарии к коду и всё должно быть понятно.
Спасибо за внимание!