Ternaire operator in PHP
Stel dat we de volgende code hebben, die controleert
of een gebruiker al 18 jaar is of niet:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Zoals je ziet, is de if-else constructie
alleen nodig om een bepaalde
waarde in de variabele $adult te schrijven. Voor
dergelijke taken, waarbij in de voorwaarde alleen
één variabele wordt geschreven, bestaat er
een kortere oplossing via de zogenaamde
ternaire operator.
De syntaxis is als volgt:
<?php
variable = condition ? value1 : value2;
?>
De operator werkt als volgt: als de voorwaarde waar is,
dan wordt value1 geretourneerd,
anders - value2. Laten we de
code die aan het begin van de les werd getoond, herschrijven
met de ternaire operator:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Je kunt het resultaat trouwens niet in een
variabele opslaan, maar direct uitvoeren via var_dump:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
De ternaire operator mag alleen in de meest eenvoudige gevallen gebruikt worden, omdat het gebruik ervan het begrijpen van de code bemoeilijkt.
Stel dat een variabele $num is gegeven, die
negatief of positief kan zijn.
Sla in de variabele $res het getal
1 op, als de variabele $num groter is
dan of gelijk is aan nul, en het getal -1, als de variabele
$num kleiner is dan nul.