شرح صفوف ومحتوى الفقرة
قدم إصدار PHP 8.0 تعبير المطابقة الحديث match لحل أكبر ثلاث مشاكل في جملة switch التقليدية: المقارنة المرنة، والانزلاق غير المقصود، وكثرة الأسطر التكرارية.
- يقارن
matchالقيم بصرامة تامة باستخدام===بدلاً من المقارنة المرنة==. - يُرجع كل مسار (Arm) قيمة مباشرة عبر السهم
=>ولا ينزلق أبداً للمسار التالي؛ فلا حاجة ولا مكان للأمرbreak;. - يُعد
matchتعبيراً برمجياً حقيقياً (Expression) يمكن إسناد نتيجته مباشرة إلى متغير أو طباعتها عبرecho.
يتم تقييم كتلة match ($httpCode) { ... }; بالكامل لإرجاع القيمة "OK" وإسنادها مباشرة إلى $statusText.
PHP
<?php
$httpCode = 200;
$statusText = match ($httpCode) {
200 => "OK",
301 => "Moved Permanently",
404 => "Not Found",
500 => "Internal Server Error",
default => "Unknown HTTP Code",
};
echo "$httpCode: $statusText\n";