Ternarni operator u PHP
Pretpostavimo da imamo sledeći kod koji proverava
da li korisnik ima 18 godina ili ne:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Kao što vidite, konstrukcija if-else
je potrebna samo da bi se određena
vrednost upisala u promenljivu $adult. Za
ove zadatke, kada se u uslovu dešava
samo upis jedne promenljive, postoji
kraće rešenje pomoću takozvanog
ternarnog operatora.
Njegova sintaksa je sledeća:
<?php
variable = condition ? value1 : value2;
?>
Operator radi na sledeći način: ako je uslov tačan,
vraća se value1, u suprotnom
slučaju - value2. Hajde da prepišemo
kod dat na početku lekcije koristeći
ternarni operator:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Usput, možete da ne upisujete rezultat u
promenljivu, već da ga odmah prikažete pomoću var_dump:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Ternarni operator treba koristiti samo u najjednostavnijim slučajevima, jer njegova upotreba otežava razumevanje koda.
Neka je data promenljiva $num, koja
može biti ili negativna ili pozitivna.
Upisati u promenljivu $res broj
1, ako je promenljiva $num veća
ili jednaka nuli, i broj -1, ako je promenljiva
$num manja od nule.