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

Пусть у нас есть следующий код, проверяющий есть ли уже пользователю 18 лет или нет:

php<?php
  $age = 17;
  
  if ($age >= 18) {
    $adult = true;
  } else {
    $adult = false;
  }
  
  var_dump($adult);
?>

Как вы видите, конструкция if-else нужна только для того, чтобы записать определенное значение в переменную $adult. Для таких задач, когда у нас в условии происходит только запись одной переменной, существует более короткое решение через так называемый тернарный оператор.

Его синтаксис таков:

php<?php
  variable = condition ? value1 : value2;
?>

Оператор работает так: если условие истинно, то возвращается value1, в противном случае - value2. Давайте перепишем приведенный в самом начале урока код через тернарный оператор:

php<?php
  $age = 17;
  $adult = $age >= 18 ? true: false;
  var_dump($adult);
?>

Можно, кстати, не записывать результат в переменную, а сразу вывести в через var_dump:

php<?php
  $age = 17;
  var_dump( $age >= 18 ? true: false );
?>

Тернарный оператор следует использовать только в самых простых случаях, так как его использование затрудняет понимание кода.

Задание 1

Пусть дана переменная $num, которая может быть либо отрицательной, либо положительной. Запишите в переменную $res число 1, если переменная $num больше или равна нулю, и число -1, если переменная $num меньше нуля.