โอเปอเรเตอร์แบบสามส่วน
ตัวดำเนินการ 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