Тернарни оператор у PHP-у
Претпоставимо да имамо следећи код који проверава
да ли корисник има већ 18 година или не:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Као што видите, конструкција if-else
је потребна само да би се записала одређена
вредност у променљиву $adult. За
такве задатке, када у услову долази до
само записивања једне променљиве, постоји
краће решење преко такозваног
тернарног оператора.
Његова синтакса је следећа:
<?php
variable = condition ? value1 : value2;
?>
Оператор ради на следећи начин: ако је услов истинит,
онда се враћа value1, у супротном
случају - value2. Хајде да препишемо
код наведен на почетку лекције преко
тернарног оператора:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Могуће је, уосталом, не записати резултат у
променљиву, већ га одмах исписати преко var_dump:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Тернарни оператор треба користити само у најједноставнијим случајевима, јер његова употреба отежава разумевање кода.
Нека је дата променљива $num, која
може бити или негативна или позитивна.
Запишите у променљиву $res број
1, ако је променљива $num већа
или једнака нули, и број -1, ако је променљива
$num мања од нуле.