Тэрнарны аператар у PHP

Няхай у нас ёсць наступны код, які правярае ці ёсць ужо карыстальнику 18 гадоў ці не:

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

Як вы бачыце, канструкцыя if-else патрэбная толькі для таго, каб запісаць пэўнае значэнне ў зменную $adult. Для такiх задач, калі ў нас ва ўмове адбываецца толькі запіс адной зменнай, iснуе больш кароткае рашэнне праз так званы тэрнарны аператар.

Яго сiнтаксiс такi:

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

Аператар працуе так: калі ўмова iстинна, то вяртаецца value1, у протым выпадку - value2. Давайце перапишем приведзены ў самым пачатку ўрока код праз тэрнарны аператар:

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

Можна, дарэчы, не запiсваць вынік у зменную, а адразу вывесці ў праз var_dump:

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

Тэрнарны аператар варта выкарыстоўваць толькі ў самых простых выпадках, так як яго выкарыстанне ўскладняе разуменне кода.

Задание 1

Няхай дадзена зменная $num, якая можа быць альбо адмоўнай, альбо дадатнай. Запишыце ў зменную $res лiк 1, калi зменная $num большая або роўная нулю, i лiк -1, калi зменная $num меншая за нуль.