Operatori Ternar në PHP

Le të kemi kodin e mëposhtëm, i cili kontrollon nëse përdoruesi ka 18 vjet apo jo:

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

Siç e shihni, konstruksioni if-else nevojitet vetëm për të shkruar një vlerë të caktuar në variablin $adult. Për detyra të tilla, kur në kusht ndodh vetëm shkrimi i një variable, ekziston një zgjidhje më e shkurtër përmes të ashtuquajturit operator ternar.

Sintaksa e tij është kështu:

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

Operatori punon kështu: nëse kushti është i vërtetë, atëherë kthehet value1, përndryshe - value2. Le të rishkruajmë kodin e paraqitur në fillim të mësimit përmes operatorit ternar:

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

Mund, meqë ra fjala, të mos e shkruani rezultatin në variabël, por menjëherë ta shfaqni përmes var_dump:

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

Operatori ternar duhet të përdoret vetëm në rastet më të thjeshta, pasi përdorimi i tij e vështirëson kuptimin e kodit.

Задание 1

Le të jetë dhënë variabla $num, e cila mund të jetë ose negative ose pozitive. Shkruani në variablin $res numrin 1, nëse variabla $num është më e madhe ose e barabartë me zero, dhe numrin -1, nëse variabla $num është më e vogël se zero.