Тэрнарны аператар у PHP
Няхай у нас ёсць наступны код, які правярае
ці ёсць ужо карыстальнику 18 гадоў ці не:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Як вы бачыце, канструкцыя if-else
патрэбная толькі для таго, каб запісаць пэўнае
значэнне ў зменную $adult. Для
такiх задач, калі ў нас ва ўмове адбываецца
толькі запіс адной зменнай, iснуе
больш кароткае рашэнне праз так званы
тэрнарны аператар.
Яго сiнтаксiс такi:
<?php
variable = condition ? value1 : value2;
?>
Аператар працуе так: калі ўмова iстинна,
то вяртаецца value1, у протым
выпадку - value2. Давайце перапишем
приведзены ў самым пачатку ўрока код праз
тэрнарны аператар:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Можна, дарэчы, не запiсваць вынік у
зменную, а адразу вывесці ў праз var_dump:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Тэрнарны аператар варта выкарыстоўваць толькі ў самых простых выпадках, так як яго выкарыстанне ўскладняе разуменне кода.
Няхай дадзена зменная $num, якая
можа быць альбо адмоўнай, альбо дадатнай.
Запишыце ў зменную $res лiк
1, калi зменная $num большая
або роўная нулю, i лiк -1, калi зменная
$num меншая за нуль.