Ternær operatør i PHP
La oss si at vi har følgende kode som sjekker
om brukeren allerede er 18 år eller ikke:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Som du ser, brukes if-else-konstruksjonen
kun for å skrive en bestemt
verdi til variabelen $adult. For
slike oppgaver, hvor betingelsen kun resulterer i
tilordning av én variabel, finnes det
en kortere løsning via den såkalte
ternære operatøren.
Dens syntaks er som følger:
<?php
variable = condition ? value1 : value2;
?>
Operatøren fungerer slik: hvis betingelsen er sann,
returneres value1, ellers
- value2. La oss omskrive
koden fra begynnelsen av leksjonen ved hjelp av
den ternære operatøren:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Du kan forresten ikke skrive resultatet til
en variabel, men umiddelbart utskrive det via var_dump:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Den ternære operatøren bør kun brukes i de enkleste tilfellene, da bruken av den vanskeliggjør forståelsen av koden.
La det være gitt en variabel $num som
kan være enten negativ eller positiv.
Skriv til variabelen $res tallet
1 hvis variabelen $num er større
enn eller lik null, og tallet -1 hvis variabelen
$num er mindre enn null.