ถ้าคุณเป็นนักพัฒนา PHP ที่คุ้นเคยกับ switch-case มานาน วันนี้เรามีเครื่องมือที่ดีกว่า สั้นกว่า และปลอดภัยกว่ามาแนะนำ นั่นคือ Match Expression ครับ ฟีเจอร์นี้ถูกเพิ่มเข้ามาใน PHP 8.0 เพื่อช่วยให้การตรวจสอบเงื่อนไขและคืนค่า (Return Value) ทำได้คลีนขึ้นมาก
💡 Match Expression คืออะไร?
match เป็นโครงสร้างควบคุมเงื่อนไขที่คล้ายกับ switch แต่ทำงานในลักษณะของ Expression (หมายความว่ามันสามารถคืนค่าออกมาใส่ในตัวแปรได้โดยตรง) และใช้การเปรียบเทียบค่าแบบ Strict Comparison (===) ซึ่งปลอดภัยกว่า switch ที่ใช้แบบ ==
⚔️ เปรียบเทียบช็อตต่อช็อต: Switch vs Match
เพื่อให้เห็นภาพชัดเจน ลองมาดูโจทย์เดียวกัน: ต้องการแปลงรหัสสถานะ HTTP เป็นข้อความ
แบบเดิม: Switch Case
PHP
PHP
switch ($statusCode) {
case 200:
$message = 'OK';
break;
case 404:
$message = 'Not Found';
break;
case 500:
$message = 'Internal Server Error';
break;
default:
$message = 'Unknown Status';
break;
}