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 փոքր է զրոյից: