⊗ppPmCdTO 101 of 447 menu

ტერნარული ოპერატორი 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 ნაკლებია ნულზე.

ruenhynluzc