ტერნარული ოპერატორი PHP-ში
დავუშვათ, გვაქვს შემდეგი კოდი, რომელიც ამოწმებს
მომხმარებელს 18 წელი თუ აქვს თუ არა:
<?php
$age = 17;
if ($age >= 18) {
$adult = true;
} else {
$adult = false;
}
var_dump($adult);
?>
როგორც ხედავთ, კონსტრუქცია if-else
საჭიროა მხოლოდ იმისთვის, რომ ჩაიწეროს გარკვეული
მნიშვნელობა ცვლადში $adult. ასეთი
ამოცანებისთვის, როდესაც პირობაში ხდება
მხოლოდ ერთი ცვლადის ჩაწერა, არსებობს
უფრო მოკლე გამოსავალი ე.წ.
ტერნარული ოპერატორის მეშვეობით.
მისი სინტაქსი ასეთია:
<?php
ცვლადი = პირობა ? მნიშვნელობა1 : მნიშვნელობა2;
?>
ოპერატორი მუშაობს შემდეგნაირად: თუ პირობა მართალია,
მაშინ ბრუნდება მნიშვნელობა1, წინააღმდეგ
შემთხვევაში - მნიშვნელობა2. მოდით გადავწეროთ
გაკვეთილის დასაწყისში მოყვანილი კოდი
ტერნარული ოპერატორის მეშვეობით:
<?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 ნაკლებია ნულზე.