В этом руководстве мы поговорим об операторах if
, else
и if else
. Это наиболее часто используемые условные операторы, умелое управление которыми считается одним из важнейших навыков в программировании.
Условные операторы
Часто при написании кода необходимо выполнить разный код в зависимости от условий. Для этого случая и нужны условные операторы.
В PHP используются следующие условные операторы:
- if: выполнить определенный код, если некоторое условие истинно;
- else: если определенное условие(я) не истинно(ы), выполнить этот код;
- if else: если вышеуказанное условие(я) не истинно(ы), выполнить этот код;
- switch: в зависимости от значения переменной выполнить какой-то конкретный код.
Оператор if
Оператор if используется для принятия решений.
Синтаксис
if(condition)
{
//Код для выполнения (если условие истинно)
}
В приведенном выше примере внутри скобки находится условие, которое нужно проверить на истинность; если условие истинно, следует выполнить код внутри этих скобок {}
.
Пример
Допустим, мы хотим написать оператор if
, чтобы убедиться, что $a
не равно 0
.
<?php
$a = 0;
if($a==0)
{
echo "the variable cannot be zero";
}
?>
Результат
Обратите внимание на то, используете ли вы оператор ==
корректно. Помните: если вы хотите проверить, равно ли что-то чему-то, вы должны использовать знак ==
; одинарный знак равенства =
означает в PHP присвоение.
Внутри фигурных скобок вы можете написать столько кода, сколько захотите. Здесь нет ограничений на количество выполняемого внутри скобок кода.
Оператор Else
Выше мы разобрали случай, когда нам надо было выполнить определенный код при истинности некоторого условия. А что если требуется выполнение кода, когда условие не является истинным?
В этом случае нужно использовать оператор else
.
Задача оператора else
состоит в том, чтобы выполнять код, когда ни одно из условий if
не является истинным.
Например:
<?php
if()
{}
else
{}
?>
Приведенный выше код проверит, равно ли $a
0
. Если равно, то он покажет сообщение your variable cannot be equal to zero
“ваша переменная не может быть равна нулю”. Если нет, то будет выведено сообщение good job
.
Оператор Else if
Итак, мы узнали назначение и способ действия операторов if
и else
.
Однако у нас есть проблема: если вы используете только оператор if else
, перед вами всего лишь два варианта развития событий:
- либо вы выполняете условие, и тогда происходит что-то одно;
- либо вы не выполняете условие, и происходит что-то другое.
А если мы хотим проверить более одного условия?
Допустим, нам нужно проверить значение A
. Если $a
равно 0
, выполняется блок кода A
. Если $a
находится в диапазоне от 1 до 20
, выполняется блок кода B
. Если $a больше 20
, выполняется блок кода C
. А если $a
не равно ни одному из вышеперечисленных условий, выполняется блок кода D
.
Пример
<?php
$a=0;
if($a==0)
{
echo "good";
}
else if ($a >=1 && $a<=20)
{
echo "great";
}
else if($a>20)
{
echo "excellent";
}
else
{
echo "no good";
}
?>
Результат
Следует отметить один маленький момент: нет никакой разницы между написанием else if
или elseif
: и то, и другое означает абсолютно одно и то же.
Разница между If и else If
Почему же иногда нужно использовать else if
, а не просто if
?
Эти два оператора не идентичны, и если сделать неправильный выбор, это может сказаться на работе программы.
Если вы используете else if
, то при совпадении одного из условий не проверяются другие условия и работа оператора прекращается.
Пример:
<?php
$a=22;
if($a==22)
{
echo "the variable is equal to 22";
echo "<br>"
}
else if($a%2==0)
{
echo "the variable is an even number";
}
else
{
echo "the variable is neither equal to 22 or an event number";
}
?>
В приведенном выше примере мы установили $a
равным 22
. Но 22 — это четное число, поэтому оно также соответствует второму условию. Однако программа не будет продолжать проверку дополнительных условий в цикле.
Другое дело, если бы мы написали код следующим образом:
<?php
$a=22;
if($a==22)
{
echo "the variable is equal to 22";
echo "<br>"
}
if($a%2==0)
{
echo "the variable is an even number";
}
else
{
echo "the variable is neither equal to 22 or an event number";
}
?>
Здесь два дополнительных оператора if
означают, что будет проверено второе условие — является ли $a
четным или нет. Следовательно, второй блок кода будет выполнен, в отличие от первого примера.
Читайте также:
- Как находить уязвимости в коде на PHP?
- Java убьет ваш стартап. PHP спасёт его
- Как подключить базу данных MySQL к сайту на PHP
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Eric Tam: PHP If, Else and If-Else Statements