Пусть у нас есть следующий код, проверяющий
есть ли уже пользователю 18
лет или нет:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Как вы видите, конструкция if-else
нужна только для того, чтобы записать определенное
значение в переменную $adult
. Для
таких задач, когда у нас в условии происходит
только запись одной переменной, существует
более короткое решение через так называемый
тернарный оператор.
Его синтаксис таков:
<?php
переменная = условие ? значение1 : значение2;
?>
Оператор работает так: если условие истинно, то возвращается значение1, в противном случае - значение2. Давайте перепишем приведенный в самом начале урока код через тернарный оператор:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Можно, кстати, не записывать результат в
переменную, а сразу вывести в через var_dump
:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Пусть дана переменная $num
, которая
может быть либо отрицательной, либо положительной.
Запишите в переменную $result
число
1
, если переменная $num
больше
или равна нулю, и число -1
, если переменная
$num
меньше нуля.
Замечания
Тернарный оператор следует использовать только в самых простых случаях, так как его использование затрудняет понимание кода.