Оператори селонаки дар PHP
Фарз кунем, ки рамзи зеринро дорем, ки тафтиш мекунад,
оё корбар аллакай 18-сола аст ё не:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
Чунон ки шумо мебинед, сохтори if-else
танҳо барои он лозим аст, ки арзиши муайянеро
ба тағирёбандаи $adult сабт кунем. Барои
чунин вазифаҳо, вақте ки дар шарт танҳо
сабти як тағирёбанда рух медиҳад, ҳалли
кӯтоҳтаре мавҷуд аст, ки тавассути он чи ки
оператори селонак номида мешавад, амалӣ кардан мумкин аст.
Синтаксиси он ин аст:
<?php
variable = condition ? value1 : value2;
?>
Оператор чунин кор мекунад: агар шарт дуруст бошад,
пас value1 баргардонида мешавад, дар
акси ҳол - value2. Биёед коди дар
оғози дарс овардашударо тавассути
оператори селонак аз нависем:
<?php
$age = 17;
$adult = $age >= 18 ? true: false;
var_dump($adult);
?>
Аз тарафи дигар, метавонед натиҷаро ба
тағирёбанда сабт накарда, фаврӣ тавассути var_dump чоп кунед:
<?php
$age = 17;
var_dump( $age >= 18 ? true: false );
?>
Оператори селонакро бояд танҳо дар соддатарин ҳолатҳо истифода бурд, зеро истифодаи он фаҳмидани кодро душвор мекунад.
Фарз кунем, ки тағирёбандаи $num дода шудааст, ки
метавонад ё манфӣ бошад ё мусбӣ.
Ба тағирёбандаи $res рақами
1-ро сабт кунед, агар тағирёбандаи $num бузургтар
ё ба сифр баробар бошад, ва рақами -1-ро, агар тағирёбандаи
$num аз сифр хурдтар бошад.