ტერნარული ოპერატორი PHP-ში

დავუშვათ, გვაქვს შემდეგი კოდი, რომელიც ამოწმებს მომხმარებელს 18 წელი თუ აქვს თუ არა:

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

როგორც ხედავთ, კონსტრუქცია if-else საჭიროა მხოლოდ იმისთვის, რომ ჩაიწეროს გარკვეული მნიშვნელობა ცვლადში $adult. ასეთი ამოცანებისთვის, როდესაც პირობაში ხდება მხოლოდ ერთი ცვლადის ჩაწერა, არსებობს უფრო მოკლე გამოსავალი ე.წ. ტერნარული ოპერატორის მეშვეობით.

მისი სინტაქსი ასეთია:

php<?php
  ცვლადი = პირობა ? მნიშვნელობა1 : მნიშვნელობა2;
?>

ოპერატორი მუშაობს შემდეგნაირად: თუ პირობა მართალია, მაშინ ბრუნდება მნიშვნელობა1, წინააღმდეგ შემთხვევაში - მნიშვნელობა2. მოდით გადავწეროთ გაკვეთილის დასაწყისში მოყვანილი კოდი ტერნარული ოპერატორის მეშვეობით:

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 ნაკლებია ნულზე.