# Тернарный оператор в PHP

Пусть у нас есть следующий код, проверяющий есть ли уже пользователю `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`, которая может быть либо отрицательной, либо положительной. Запишите в переменную `$res` число `1`, если переменная `$num` больше или равна нулю, и число `-1`, если переменная `$num` меньше нуля.

← →
↑