Краткая форма условного оператора
Условный оператор (?:)
представляет собой компактную форму инструкции условия if
.
Синтаксис:
expression ? true_value : false_value
Выполнение этой инструкции начинается с операнда expression
. Если значение выражения expression
истинно (true), то возвращается значение выражения true_value
, иначе возвращается false_value
.
В приведенном ниже примере выполняется выбор наименьшего из двух значений. Если значение a
меньше b
, то возвращается a
, иначе возвращается b
.
min = (а < b ? a : b);
Примеры использования условного оператора
Обычная форма записи условного оператора:
echo 'Число ';
if ($number < 0) echo 'отрицательное';
else echo 'положительное';
Компактная форма записи более удобна:
echo 'Число '.($number < 0 ? 'отрицательное' : 'положительное');
Вот еще один пример использования краткой формы условного оператора.
Согласно правил юзабилити сайта, стандартом де-факто является логотип, который на внутренних страницах становится ссылкой на главную страницу.
С помощью php-кода мы можем определить текущую страницу сайта. Для главной страницы переменная $page_type
принимает значение 1
. Если это внутренняя страница, то логотип станет ссылкой на главную страницу сайта.
<?php echo $page_type == 1 ? "":'<a href="www.domain.com">'; ?>
<img src="/i/logo.gif">
<?php echo $page_type == 1 ? "":'</a>'; ?>
А вы используете в своих проектах краткую форму написания условного оператора?