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

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


Рассмотрим простой пример, аналогичный изображению выше, уже на php. Когда интерпретатор php доходит до if, происходит проверка на истинность того, что находится в круглых скобках, это может быть проверка существования переменной, проверка ее на пустоту, проверка содержащегося в ней значения с другой переменной или даже несколько условий. И если в результате проверки, условие в скобках, после if окажется верным(true), то выполнится код, находящийся в фигурных скобках после if. Если условие будет не верным(false), то интерпретатор ищет блок else и выполняет код, который находится в фигурных скобках после else, пропуская весь код в фигурных скобках блока if.

Для начала объявим переменную $money и присвоим значение true, это будет означать, что деньги есть.

Затем проверим переменную в if и выполним выражение, а также опишем конструкцию else c выполняемым выражением, если $money окажется false. В коде это бы выглядело так:


<?php

$money = true;

if($money){
   echo "Идем в магазин";
}else{
   echo "Идем домой";
}

?>

В результате выполнения будет выведено: Идем в магазин, так как проверяемое выражение в if — верно.

Если изменить значение переменной $money на false, то мы получим вывод сообщения: Идем домой. Попробуйте самостоятельно проверить.

Конструкция if — else может быть многоуровневой, где в результате проверки одного условия, происходит проверка дополнительных. Усложним пример, чтобы наглядно это проверить. Добавим переменные $shopOpen, $breadExist, $breadFresh и присвоим им значение, тоже true — это будет означать, что магазин открыт и хлеб есть.

Список последовательных проверок нового пример:

  1. Есть ли деньги?;
  2. Открыт ли магазин?;
  3. Есть ли хлеб?;
  4. Хлеб свежий?;

На каждую из этих проверок будут действия в случае 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. ..elseif…else. Можно проверить несколько условий, и в зависимости от первый, который оценивается как true, выполняется блок кода, содержащийся в соответствующем блоке «elseif» или «else». Его преимущество в том, что он дает вам возможность проверить нескольких предположений и выполнить соответствующий блок кода на основе первого истинного предположения.
Недостаток Оператор «if» является наиболее фундаментальным условным оператором в PHP и может проверять только одно условие. В нем отсутствует запасной вариант, если условие не выполняется, что может привести к неполной логике. Оператор «if…else» превосходит оператор «if», поскольку предлагает альтернативу, если условие не выполняется. Однако он позволяет проверять только два условий и может стать многословным и трудным для чтения, если необходимо проверить несколько условий. Оператор if…elseif…else является наиболее сложным условным оператором и позволяет вычислять несколько условий.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *