จับคู่นิพจน์ เป็นคุณลักษณะใหม่ที่เพิ่มเข้ามาใน PHP 8 ซึ่งคล้ายกับคำสั่ง switch-case มาก แต่ให้ความหมายที่ปลอดภัยกว่า
-
นิพจน์การจับคู่ไม่ได้ใช้โครงสร้าง 'ตัวพิมพ์และตัวแบ่ง' ของคำสั่ง switch-case รองรับเงื่อนไขร่วมและส่งกลับค่าแทนที่จะป้อนบล็อกรหัสใหม่
-
เราสามารถเก็บผลการจับคู่ไว้ในตัวแปรได้เพราะเป็นนิพจน์
-
นิพจน์การจับคู่ไม่จำเป็นต้องมีคำสั่งแบ่งเช่น สวิตช์ . รองรับเฉพาะนิพจน์บรรทัดเดียว
ตัวอย่าง:PHP 7 การใช้คำสั่งสวิตช์
<?php switch (1.0) { case '1.0': $result = "Hello World!"; break; case 1.0: $result = "Looks good"; break; } echo $result; ?>
ผลลัพธ์
Hello World!
ตัวอย่าง:เหนือโค้ด PHP 7 โดยใช้ PHP 8 Match Expression
<?php echo match (1.0) { '1.0' => "Hello World!", 1.0 => "Looks Good!", }; ?>
ผลลัพธ์
Looks Good!
ตัวอย่าง:การใช้ PHP 8 Match Expression
<?php echo match (2) { 1 => 'Company', 2 => 'Department', 3 => 'Employee', }; ?>
ผลลัพธ์
Employee