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 փոքր է զրոյից: