ตัวดำเนินการเงื่อนไขแบบสามส่วนใน PHP

สมมติว่าเรามีโค้ดต่อไปนี้ที่ตรวจสอบว่า ผู้ใช้มีอายุ 18 ปีแล้วหรือไม่:

php<?php
  $age = 17;
  
  if ($age >= 18) {
    $adult = true;
  } else {
    $adult = false;
  }
  
  var_dump($adult);
?>

อย่างที่คุณเห็น โครงสร้าง if-else จำเป็นเพียงเพื่อเขียนค่า ลงในตัวแปร $adult สำหรับ งานดังกล่าว เมื่อในเงื่อนไขของเราเกิด เพียงแค่การเขียนตัวแปรเดียว มี วิธีแก้ปัญหาที่สั้นกว่าผ่านสิ่งที่เรียกว่า ตัวดำเนินการเงื่อนไขแบบสามส่วน

ไวยากรณ์ของมันเป็นดังนี้:

php<?php
  variable = condition ? value1 : value2;
?>

ตัวดำเนินการทำงานดังนี้: หากเงื่อนไขเป็นจริง จะส่งคืน value1 มิฉะนั้น จะส่งคืน - value2 มาเขียน โค้ดที่ให้ไว้ตอนต้นบทเรียนใหม่ด้วย ตัวดำเนินการเงื่อนไขแบบสามส่วน:

php<?php
  $age = 17;
  $adult = $age >= 18 ? true: false;
  var_dump($adult);
?>

โดยวิธี คุณสามารถไม่เขียนผลลัพธ์ลงใน ตัวแปร แต่แสดงผลทันทีผ่าน var_dump:

php<?php
  $age = 17;
  var_dump( $age >= 18 ? true: false );
?>

ควรใช้ตัวดำเนินการเงื่อนไขแบบสามส่วนเฉพาะใน กรณีที่ง่ายที่สุดเท่านั้น เนื่องจากการใช้งานมัน ทำให้เข้าใจโค้ดได้ยาก

Задание 1

กำหนดให้มีตัวแปร $num ซึ่ง อาจเป็นค่าลบหรือค่าบวกก็ได้ เขียนลงในตัวแปร $res เป็นตัวเลข 1 หากตัวแปร $num มากกว่า หรือเท่ากับศูนย์ และตัวเลข -1 หากตัวแปร $num น้อยกว่าศูนย์