Тернарен оператор во 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 е помала од нула.