Условия if else. Условный оператор if в PHP

Жаропонижающие средства для детей назначаются педиатром. Но бывают ситуации неотложной помощи при лихорадке, когда ребенку нужно дать лекарство немедленно. Тогда родители берут на себя ответственность и применяют жаропонижающие препараты. Что разрешено давать детям грудного возраста? Чем можно сбить температуру у детей постарше? Какие лекарства самые безопасные?

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

Синтаксис конструкции if аналогичен конструкции if в языке Си:

if (логическое выражение) оператор;
?>

Согласно выражениям PHP, конструкция if содержит логическое выражение. Если логическое выражение истинно (true ), то оператор, следующий за конструкцией if будет исполнен, а если логическое выражение ложно (false ), то следующий за if оператор исполнен не будет. Приведем примеры:

if ($a > $b ) echo "значение a больше, чем b" ;
?>

В следующем примере если переменная $a не равна нулю, будет выведена строка "значение a истинно (true)":

if ($a ) echo "значение a истинно (true) " ;
?>

В следующем примере если переменная $a равна нулю, будет выведена строка "значение a ложно (false)":

if (!$a ) echo "значение a ложно (false) " ;
?>

Часто вам будет необходим блок операторов, который будет выполняться при определенном условном критерии, тогда эти операторы необходимо поместить в фигурные скобки {...} Пример:

if ($a > $b ) {
echo "a больше b" ;
$b = $a ;
}
?>

Приведенный пример выведет сообщение, "a больше b", если $a > $b , а затем переменная $a будет приравнена к переменной $b . Заметим, что данные операторы выполняются в if .

if (логическое_выражение):
команды;
elseif(другое_логическое_выражение):
другие_команды;
else:
иначе_команды;
endif

Обратите внимание на расположение двоеточия (: )! Если его пропустить, будет сгенерировано сообщение об ошибке. И еще: как обычно, блоки elseif и else можно опускать.

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

elseif - это комбинация конструкций if и else . Эта конструкция расширяет условную конструкцию if-else .

Приведем синтаксис конструкции elseif :

if (логическое_выражение_1)
оператор_1;
elseif (логическое_выражение_2)
оператор_2;
else
оператор_3;

Практический пример использования конструкции elseif :

if ($a > $b ) {
echo "a больше, чем b" ;
} elseif ($a == $b ) {
echo "a равен b" ;
} else {
echo "a меньше, чем b" ;
}
?>


Главное в действие данное оператора - это условие. 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 присваивается переданное значение.
}
?>
Прочитайте комментарии к коду и всё должно быть понятно.

Спасибо за внимание!


3.6K

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

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

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

  • Оператор if ;
  • Оператор if … else ;
  • Оператор if … elseif …. else ;
  • Оператор switch … case .

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

Оператор if

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

if(условие){ // Исполняемый код }

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

Пример :

Оператор if … else

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

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

if(условие){ // Код, который будет выполнен, если условие истинно } else{ // Код, который будет выполнен, если условие ложно }

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

Пример :

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

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

if(условие){ // Код, который будет выполнен, если условие истинно } elseif(условие){ // Код, который будет выполнен, если условие истинно } else{ // Код, который будет выполнен, если условие ложно }

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

Пример :

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

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

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

Пример :

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

Пример :

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

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

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

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

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

В программировании это тоже встречается очень часто. Для этого существуют два условных операторов, это if-else и switch-case . В этой статье я Вам расскажу об операторе if-else, а в следующей статье об switch-case.

Синтаксис условного оператора if-else следующий:


Если условие истина (true), то выполняется код из блока if, иначе, если условие ложь, то выполняется код из блока else.

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

Var money = 35000; // Допустим у нас есть 35 000 евро //Машину которую мы хотим купить стоит 50 000 евро. И возникает такое условие if(money > 50000){ document.write("Мы можем купить автомобиль"); }else{ document.write("Недостаточно денег для покупки машины"); }

Сохраняем документ, открываем его в браузере и видим, что на странице вывелось такое сообщение "Недостаточно денег для покупки машины". Если же у нас было бы больше 50 000 евро, то выполнился бы код из блока if. Если бы у нас было бы ровно 50 000 евро, то мы также не смогли бы купить автомобиль, потому что 50 000 не больше 50 000. Для того чтобы условие в данном случае было истина, то нужно написать знак больше либо равно (>=).

Замечание! Логическая операция равно пишется двумя знаками равенства (==) . Также присутствует и логическая операция меньше или равно (

использование фигурных скобок

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

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

Внутри if можно написать любые логические операции , будь то они простые или сложные. Можно использовать и операторы AND (&&) и OR (||).

Замечание! Присутствие блока else, не является обязательным .

Например, если a равен b, и c равен d, то выводим соответствующее сообщение, иначе если отсутствует блок else, то просто идем дальше, к следующей строчке.

Var a = 4, b = 4, c = 8, d = 8; if((a == b) && (c == d)) document.write("a равен b И c равен d"); document.write("Следующая строчка кода");

Оператор if - else if - else

После блока if, может последовать один и больше блоков else if, и в конце уже блок else. Это удобно в случае, когда нужно использовать больше чем одно условие.


Для лучшего понимания возьмем какой-то пример из повседневной жизни. Например, у нас есть определенное кол-во розеток. Если у нас в комнате только одна розетка, то мы можем подключить только одно устройство, если две розетки то мы можем подключить две устройства и если больше, то мы можем подключить к электрической сети, все устройства из дома.

Теперь перейдем к программированию.

Var socket = 2; // Кол-во розеток в доме if(socket == 1)  document.write("

Мы можем подключить только одно устройство

"); else if(socket == 2){ document.write("

Мы можем подключить только две устройства

"); document.write("

Например телевизор и ноутбук

"); }else{ document.write("

Мы можем подключить к электрической сети все устройства из дома

"); }

В зависимости от значения переменной socket, сработает тот или иной блок кода. Как Вы уже наверняка поняли, что если socket равен 1, то сработает первый блок кода. Если socket равен 2, то сработает второй блок кода и если socket имеет любое другое значение (даже отрицательное число) то сработает третий блок кода.

Сокращенная запись if else

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


Например, если значение переменной a больше значения переменной b, то в переменную x запишем такое сообщение, "Переменная a больше переменной b" , иначе запишем что "Переменная a меньше переменной b".

Var a = 50, b = 100, x; x = (a > b) ? "

Переменная a больше переменной b

" : "

Переменная a меньше переменной b

"; //Выводим полученный результат document.write(x);

Вот и все о чем я хотел Вам сказать в этой статье. Условный оператор if-else используется, нежели в каждом скрипте, поэтому очень важно его знать и понимать. В следующей статье я Вам расскажу об еще одном условном операторе switch-case.

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

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

Поддержите проект — поделитесь ссылкой, спасибо!
Читайте также
Чем открыть файл fb2 на Андроид? Чем открыть файл fb2 на Андроид? Как найти песню не зная названия и исполнителя Как найти песню не зная названия и исполнителя Что делать, если шумит и трещит жёсткий диск Что делать, если шумит и трещит жёсткий диск