Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ความแตกต่างระหว่างโอเปอเรเตอร์ Ternary และตัวดำเนินการการรวมค่า Null ใน php


โอเปอเรเตอร์แบบสามส่วน

ตัวดำเนินการ ternary ใช้เพื่อแทนที่คำสั่ง if else เป็นคำสั่งเดียว

ไวยากรณ์

(condition) ? expression1 : expression2;

นิพจน์เทียบเท่า

if(condition) {
   return expression1;
}
else {
   return expression2;
}

หากเงื่อนไขเป็นจริง จะส่งกลับผลลัพธ์ของ expression1 มิฉะนั้นจะส่งคืนผลลัพธ์ของ expression2 โมฆะไม่ได้รับอนุญาตในเงื่อนไขหรือนิพจน์

ตัวดำเนินการรวมค่า Null

โอเปอเรเตอร์การรวมค่า Null ใช้เพื่อจัดเตรียมค่าที่ไม่เป็น null ในกรณีที่ตัวแปรเป็นค่าว่าง

ไวยากรณ์

(variable) ?? expression;

นิพจน์เทียบเท่า

if(isset(variable)) {
   return variable;
}
else {
   return expression;
}

หากตัวแปรเป็นค่าว่าง มันจะส่งคืนผลลัพธ์ของนิพจน์

ตัวอย่าง

<!DOCTYPE html>
<html>
<head>
   <title>PHP Example</title>
</head>
<body>
   <?php
      // fetch the value of $_GET['user'] and returns 'not passed'
      // if username is not passed
      $username = $_GET['username'] ?? 'not passed';
      print($username);
      print("<br/>");
      // Equivalent code using ternary operator
      $username = isset($_GET['username']) ? $_GET['username'] : 'not passed';
      print($username);
      print("<br/>");
   ?>
</body>
</html>

ผลลัพธ์

not passed
not passed