Ternary operatorius PHP
Tarkime, kad turime tokį kodą, kuris tikrina
ar vartotojui jau yra 18 metų ar ne:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Kaip matote, if-else konstrukcija
reikalinga tik tam, kad įrašyti tam tikrą
reikšmę į kintamąjį $adult. Tokioms
užduotims, kai mūsų sąlygoje atsiranda
tik vieno kintamojo įrašymas, egzistuoja
trumpesnis sprendimas naudojant vadinamąjį
ternary operatorių.
Jo sintaksė yra tokia:
<?php
variable = condition ? value1 : value2;
?>
Operatorius veikia taip: jei sąlyga teisinga,
tada grąžinama value1, priešingu
atveju - value2. Perrašykime
pamokos pradžioje pateiktą kodą naudodami
ternary operatorių:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Beje, galima, netgi neįrašant rezultato į
kintamąjį, iškart išvesti jį per var_dump:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Ternary operatorius turėtų būti naudojamas tik pačiais paprasčiausiais atvejais, nes jo naudojimas apsunkina kodo supratimą.
Tarkime, duotas kintamasis $num, kuris
gali būti arba neigiamas, arba teigiamas.
Įrašykite į kintamąjį $res skaičių
1, jei kintamasis $num yra didesnis
ar lygus nuliui, ir skaičių -1, jei kintamasis
$num yra mažesnis už nulį.