انتقل إلى محتوى الدرس

Why PHP 8 Introduced match لماذا ظهرت بنية match الحديثة

تعلّم تعبير المطابقة الحديث match في PHP 8 بأسلوب PHP 8 الحديث مع أمثلة عملية وتطبيقات تفاعلية.
1 صفوف تعليمية
PHP
1 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

قدم إصدار PHP 8.0 تعبير المطابقة الحديث match لحل أكبر ثلاث مشاكل في جملة switch التقليدية: المقارنة المرنة، والانزلاق غير المقصود، وكثرة الأسطر التكرارية.

  • يقارن match القيم بصرامة تامة باستخدام === بدلاً من المقارنة المرنة ==.
  • يُرجع كل مسار (Arm) قيمة مباشرة عبر السهم => ولا ينزلق أبداً للمسار التالي؛ فلا حاجة ولا مكان للأمر break;.
  • يُعد match تعبيراً برمجياً حقيقياً (Expression) يمكن إسناد نتيجته مباشرة إلى متغير أو طباعتها عبر echo.

يتم تقييم كتلة match ($httpCode) { ... }; بالكامل لإرجاع القيمة "OK" وإسنادها مباشرة إلى $statusText.

مخطط توضيحي: مختبر مقارنة match الصارم بـ switch المرن في PHP 8
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";