Примеры использования if-else в PHP
Четверть часа
Пусть у нас есть переменная $min
,
в которой хранится количество минут от 0
до 59
:
<?php
$min = 10;
?>
Давайте определим, в какую четверть часа попадает указанное количество минут:
<?php
$min = 10;
if ($min >= 0 and $min <= 14) {
echo '1 четверть';
}
if ($min >= 15 and $min <= 29) {
echo '2 четверть';
}
if ($min >= 30 and $min <= 44) {
echo '3 четверть';
}
if ($min >= 45 and $min <= 59) {
echo '4 четверть';
}
?>
Решите аналогичную задачу, только определите в какую треть часа попадает указанное количество минут.
Длина строк и массивов
Пусть у нас есть переменная $str
,
в которой хранится некоторая произвольная строка:
<?php
$str = '12345';
?>
Давайте напишем условие, которое выведет сообщение на экран, если длина строки равна или больше трех символов:
<?php
$str = '12345';
if (strlen($str) >= 3) {
echo '!';
}
?>
В переменной $arr
содержится некоторый
массив с числами. Напишите условие, которое
проверит, что в массиве
3
элемента.
Если это так, выведите на экран сумму элементов
массива.
Проверка символа строки
Пусть дана некоторая строка, состоящая из цифр:
<?php
$str = '12345';
?>
Давайте проверим, равен ли первый символ
этой строки числу 1
:
<?php
$str = '12345';
if ($str[0] == 1) {
echo '!';
}
?>
Проверим теперь последний символ на равенство
числу 5
:
<?php
$str = '12345';
$last = $str[strlen($str) - 1];
if ($last == 5) {
echo '!';
}
?>
Остаток от деления
Пусть у нас есть две переменные с числами:
<?php
$a = 10;
$b = 3;
?>
Давайте найдем остаток от деления одной переменной на другую:
<?php
$a = 10;
$b = 3;
echo $a % $b; // выведет 1
?>
Пусть теперь в переменных хранятся такие значения, что одна переменная делится на вторую нацело:
<?php
$a = 10;
$b = 5;
echo $a % $b; // выведет 0
?>
Давайте напишем скрипт, который будет проверять, делится ли нацело одно число на второе:
<?php
$a = 10;
$b = 3;
if ($a % $b === 0) {
echo 'делится нацело';
} else {
echo 'делится с остатком';
}
?>
Пусть теперь требуется, если число делится с остатком, вывести этот остаток на экран:
<?php
$a = 10;
$b = 3;
if ($a % $b === 0) {
echo 'делится нацело';
} else {
echo 'делится с остатком ' .
$a % $b;
}
?>
В приведенном выше коде получается, что остаток вычисляется в двух местах, а это не оптимально.
Поправим проблему:
<?php
$a = 10;
$b = 3;
$rest = $a % $b;
if ($rest === 0) {
echo 'делится нацело';
} else {
echo 'делится с остатком ' . $rest;
}
?>
Как известно, четные числа делятся на 2
без остатка, а нечетные — с остатком. Пусть
у вас дано число. С помощью оператора %
и конструкции if
проверьте четное
это число или нет.
Дано число. Проверьте, что оно делится на 3
.
if — else в PHP
Условия и ветвления являются неотъемлемой частью любой разработки, в любом языке программирования, php не исключение. Практически любой php-скрипт содержит условия и в зависимости от его выполнения, происходит выполнение того или иного выражения, вызова функций, вывода информации.
Рассмотрим простой пример, аналогичный изображению выше, уже на php. Когда интерпретатор php доходит до if, происходит проверка на истинность того, что находится в круглых скобках, это может быть проверка существования переменной, проверка ее на пустоту, проверка содержащегося в ней значения с другой переменной или даже несколько условий. И если в результате проверки, условие в скобках, после if окажется верным(true), то выполнится код, находящийся в фигурных скобках после if. Если условие будет не верным(false), то интерпретатор ищет блок else и выполняет код, который находится в фигурных скобках после else, пропуская весь код в фигурных скобках блока if.
Для начала объявим переменную $money и присвоим значение true, это будет означать, что деньги есть.
<?php $money = true; if($money){ echo "Идем в магазин"; }else{ echo "Идем домой"; } ?>
В результате выполнения будет выведено: Идем в магазин, так как проверяемое выражение в if — верно.
Если изменить значение переменной $money на false, то мы получим вывод сообщения: Идем домой. Попробуйте самостоятельно проверить.
Конструкция if — else может быть многоуровневой, где в результате проверки одного условия, происходит проверка дополнительных. Усложним пример, чтобы наглядно это проверить. Добавим переменные $shopOpen, $breadExist, $breadFresh и присвоим им значение, тоже true — это будет означать, что магазин открыт и хлеб есть.
Список последовательных проверок нового пример:
- Есть ли деньги?;
- Открыт ли магазин?;
- Есть ли хлеб?;
- Хлеб свежий?;
На каждую из этих проверок будут действия в случае true и false.
<?php $money = true; $shopOpen = true; $breadExist = true; $breadFresh = true; // Проверяем наличие денег if($money){ echo "Идем в магазин\n"; // Проверяем открыт ли магазин if($shopOpen){ echo "Магазин открыт, заходим и проверяем наличие хлеба\n"; // Проверяем есть ли хлеб if($breadExist){ echo "Хлеб есть, но нужно проверить свежий ли он\n"; // Проверяем свежесть хлеба if($breadFresh){ echo "Хлеб свежий, покупаем\n"; }else{ echo "Хлеб не свежий, идем в другой магазин\n"; } }else{ echo "Хлеба нет, идем в другой магазин\n"; } }else{ echo "Магазин закрыт.Идем в другой магазин\n"; } }else{ echo "Идем домой\n"; } ?>
В результате работы этого кода, мы получим следующий вывод:
Идем в магазин Магазин открыт, заходим и проверяем наличие хлеба Хлеб есть, но нужно проверить свежий ли он Хлеб свежий, покупаем
В коде выше, было сделано несколько вложенных if — else. Скопируйте код и попробуйте поменять значения объявленных переменных с true на false, чтобы наглядно посмотреть, как обрабатываются или пропускаются выражения, при разных условиях.
Стоит отметить, чтобы не запутаться во вложенности, следует вложенные конструкции писать последовательно и блоками, а потом заполнять данными для проверки и выражениями. Ниже gif-ка, на которой наглядно показана последовательность построения вложенности.
Основное руководство по оператору PHP if-else на примерах
Резюме : в этом руководстве вы узнаете об операторе PHP if.
, который выполняет блок кода, когда условие ..else
истинно
или другой блок кода, когда условие false
.
Введение в оператор PHP if-else
Оператор if
позволяет выполнять один или несколько операторов, когда выражение
равно true
:
Язык кода: HTML, XML (xml)
Иногда требуется выполнить другой блок кода, если выражение
равно false
. Для этого вы добавляете предложение else
в оператор if
:
Язык кода: HTML, XML (xml)
В этом синтаксисе, если выражение
равно true
, PHP выполняет блок кода, следующий за предложением if
. Если выражение
равно false
, PHP выполняет блок кода, следующий за ключевым словом else
.
На следующей блок-схеме показано, как работает инструкция PHP if-else:
В следующем примере инструкция if...else
используется для отображения сообщения на основе значения переменной $is_authenticated :
Язык кода: HTML, XML (xml)
В этом примере $is_authenticated
равно false
. Поэтому сценарий выполняет блок кода, следующий за предложением else
. И вы увидите следующий вывод:
У вас нет прав для доступа к этой странице. Язык кода: JavaScript (javascript)
Оператор PHP if…else в HTML
Подобно оператору if
, вы можете красиво смешивать оператор if…else
с HTML, используя альтернативный синтаксис:
Язык кода: HTML, XML (xml)
Обратите внимание, что вам не нужно ставить точку с запятой ( ;
) после ключевого слова endif
, потому что endif
является последним выражением в блоке PHP. Охватывающий тег
?>
автоматически подразумевает точку с запятой.
В следующем примере используется оператор if...else
для отображения ссылки выхода, если $is_authenticated
равно true
. Если $is_authenticated
равно false
, сценарий вместо этого показывает ссылку login
:
<голова> <мета-кодировка="UTF-8">Демонстрация оператора PHP if <тело> Выйти Войти Язык кода: HTML, XML (xml)
Сводка
- Используйте оператор PHP
if...else
для выполнения блока кода, когда условиеистинно
.
Этот урок был вам полезен?
оператор if else в PHP с примерами
Эта статья посвящена трем условным операторам, используемым в PHP, а именно:
- if
- если.
..иначе
- если…иначеесли…иначе
Оператор if в PHP
Оператор PHP «if» используется, когда нам нужно выполнить некоторые блоки операторов (кодов), когда заданное условие истинно. Например:
"; } ?>
Вывод, полученный в приведенном выше примере PHP, показан на снимке экрана, приведенном ниже:
В предыдущем примере условие «$num==10» или «10==10» (как значение $num был инициализирован 10) оценивается как true. Следовательно, поток программы проходит внутри if body и выполняет два письменных оператора. Первая инструкция выводит значение $num, а вторая вставляет разрыв строки с помощью тега BR.
Вышеупомянутая программа также может быть написана таким образом:
"; ?>
Поскольку в качестве тела оператора if доступен единственный оператор, нет необходимости помещать оператор в фигурные скобки или {} . Одно заявление не требует, чтобы
вы пишете внутри фигурной скобки. Однако вы можете использовать фигурные скобки и для отдельных операторов.
Синтаксис оператора if в PHP:
если (условие) { // блок кода для выполнения, если условие истинно }
Оператор if…else в PHP
Блок PHP if…else используется, когда нам нужно выполнить какой-то блок кода, когда указанное условие оценивается как истинное, и какой-то другой блок кода, когда указанное условие условие оценивается как ложное. Например:
Вывод этого примера PHP должен быть:
Значение $num не равно 10
Поскольку условие $num==10 или 20==10 оценивается как false , поток программы входит в тело else , и оператор, доступный внутри тела else , выполняется.
То есть программа выполняет блок кода, доступный в теле if, когда условие оценивается как истинное. В противном случае программа выполняет доступный блок кода.
в теле аналога if, то есть в противном случае, когда условие оценивается как ложное.
Синтаксис оператора if…else в PHP:
if(условие) { // блок кода для выполнения, если условие истинно } еще { // блок кода для выполнения, если условие ложно }
Оператор if…elseif…else в PHP
Оператор PHP if…elseif…else используется, когда нам нужно выполнить определенный блок кода на основе нескольких условий. Например:
Вывод этого примера PHP должен быть:
Значение $num равно 0.
Синтаксис оператора if…elseif…else в PHP:
if(condition_1) { // блок кода для выполнения, если condition_1 истинно } иначе, если (условие_2) { // блок кода для выполнения, если condition_2 истинно } иначе, если (условие_3) { // блок кода для выполнения, если condition_3 истинно } иначе, если (условие_4) { // блок кода для выполнения, если условие_4 верно } .. . иначе, если(условие_N) { // блок кода для выполнения, если condition_N истинно } еще { // блок кода для выполнения, если все условия ложны }
Если, например, несколько условий оцениваются как истинные, предположим, что условие_2 и условие_3 оба оцениваются как истинные. В этом случае первое условие, которое оценивается как true, выполняется, а остальное пропускается. Например:
-10) echo "Значение \$x больше -10"; иначе если ($ х == -10) echo "Значение \$x равно -10"; иначе если ($ х < 0) echo "Значение \$x меньше 0"; иначе если ($ х == 0) echo "Значение \$x равно 0"; иначе если ($ х > 0) echo "Значение \$x больше 0"; еще echo "Значение \$x неизвестно"; ?>
Поскольку условия $x == -10 и $x < 0 оба верны, но сначала условие $x == -10 был оценен, блок кода, доступный внутри этого блока, будет выполнен, а остальная часть
выполнение той же структуры if. ..elseif…else пропускается. Таким образом, вывод должен быть следующим:
Значение $x равно -10
Преимущества и недостатки операторов if, if…else и if…elseif…else в PHP
если | если…иначе | если…иначеесли…иначе | |
---|---|---|---|
Преимущество | Оператор if используется для проверки одного условия; если условие оценивается как истинное, выполняется код, содержащийся в блоке if. Польза его в том, что он допускает простое ветвление на основе одного условия. | Когда есть два возможных результата, основанных на условии, используется «if…then». Код в блоке «если» выполняется, если условие истинно; в противном случае код внутри блока «else» выполняется. Его преимущество в том, что он предлагает два возможных пути выполнения на основе одного условия. | Если существует несколько возможных исходов, зависящих от различных условий, используется оператор if.![]() |
Недостаток | Оператор «if» является наиболее фундаментальным условным оператором в PHP и может проверять только одно условие. В нем отсутствует запасной вариант, если условие не выполняется, что может привести к неполной логике. | Оператор «if…else» превосходит оператор «if», поскольку предлагает альтернативу, если условие не выполняется. Однако он позволяет проверять только два условий и может стать многословным и трудным для чтения, если необходимо проверить несколько условий. | Оператор if…elseif…else является наиболее сложным условным оператором и позволяет вычислять несколько условий.![]() |