Подробнее о конструкции if

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

Конструкция if может быть вложенной:

<?php
$number = 10;

if($number > 0)
    if($number < 20)
        echo "Число больше нуля, но меньше двадцати!";
?>

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

<?php
$number = 10;

if(($number > 0) and ($number < 20))
    echo " Число больше нуля, но меньше двадцати!";
?>

Какой способ записи оператора цикла PHP использовать, зависит от ситуации и от ваших личных предпочтений. В предыдущей статье мы рассмотрели правила использования конструкции else. В PHP есть еще одна специальная конструкция – else if.

Она содержит в себе конструкции if и else, и может использоваться следующим образом:

<?php
$number = 10;

if($number > 20)
    echo "Число больше двадцати!";
elseif($number > 10)
    echo "Число больше десяти!";
else
    echo "Кажется, это число слишком мало..."
?>

Данная конструкция оператора цикла PHP не реализует ничего нового, кроме другого синтаксиса. Точно также можно использовать конструкцию else, а следом еще одну конструкцию if.

При разработке на PHP в конструкциях типа if или while помимо стандартных блоков кода, заключенных в фигурные скобки, можно использовать альтернативный синтаксис. Он не особо популярен, но рекомендуем с ним ознакомиться:

<?php
$number = 10;
if($number == 10):
    echo "Число – 10!";
else:
    echo "Число – не  10… ";
    echo "Но почему?";
endif;
?>

Если такой вариант вам нравится больше – спокойно используйте его. Нет никакой принципиальной разницы.

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

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

<?php
$numberOfItems = 2;
$output = "В вашей корзине ";
if($numberOfItems > 0)
    $output .= "есть товары";
else
    $output .= "нет товаров";
$output .= "!";
echo $output;
?>

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

<?php
$numberOfItems = 0;
$output = "В вашей корзине " . (($numberOfItems > 0) ? "есть товары" : "нет товаров") . "!";
echo $output;
?>

Такая запись существенно сокращает количество строк кода. Тернарный оператор PHP – сокращенная версия конструкций if и else, записанная в одну строку. Условие, заданное после двух скобок, это и есть аналог if. После ставится вопросительный знак, за которым прописывается следующее условие: удовлетворяет ли конструкции условие TRUE.

Затем ставится двоеточие, за которым прописывается следующее условие: удовлетворяет ли конструкции условие FALSE. Так как все эти условия пишутся в одной строке с оператором присваивания, мы ставим две скобки, чтобы PHP определил, что строчка содержит условие.

Это всего лишь альтернативный вариант записи, используйте его на свое усмотрение.

Перевод статьи “More if statements” был подготовлен дружной командой проекта Сайтостроение от А до Я.

12 июня 2016 в 09:31
Материалы по теме
{"url":"http://www.fastvps.ru/", "src":"/images/advbanners/fastvps.png", "alt":"Хостинг Fastvps.ru. Наш выбор!"}
Заработок