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

Match vs Switch Comparison مقارنة تعبير match وجملة switch

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

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

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

في تطوير PHP 8.3 / 8.4 الحديث، يُعد match الخيار الافتراضي لتحويل القيم وربطها، بينما تبقى switch مفيدة فقط لكتل الأوامر الإجرائية متعددة الأسطر.

  • فضّل match دائماً عند تحويل قيمة مدخلة أو شرط match (true) إلى قيمة مخرجة.
  • تذكر دائماً الفاصلة المنقوطة }; في نهاية تعبير match.
  • لا تضع أبداً الأمر break; داخل مسارات match.

يُقيّم match (true) كل مسار منطقي بالترتيب الصارم ويُرجع "Gold Mastery" للدرجة 92.

وجه المقارنةتعبير match الحديث (PHP 8+)جملة switch التقليدية
معامل المقارنةتطابق صارم في القيمة والنوع (===)مساواة مرنة (==)
إرجاع قيمة مباشرةنعم (تعبير يُسند لمتغير)لا (كتلة أوامر إجرائية)
السقوط التلقائيلا يسقط أبداً (لا يحتاج break)يسقط للحالة التالية ما لم تكتب break;
تجميع عدة قيممفصولة بفاصلة: 1, 2 => ...عناوين مكدسة: case 1: case 2:
غياب التطابق وdefaultيرمي خطأ UnhandledMatchErrorيتجاهل التنفيذ بصمت
PHP
<?php

$score = 92;

$badge = match (true) {
    $score >= 90 => "Gold Mastery",
    $score >= 75 => "Silver Proficiency",
    $score >= 60 => "Bronze Pass",
    default => "Needs Practice",
};

echo "Score $score -> $badge\n";
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

في تطوير PHP 8.3 / 8.4 الحديث، يُعد match الخيار الافتراضي لتحويل القيم وربطها، بينما تبقى switch مفيدة فقط لكتل الأوامر الإجرائية متعددة الأسطر. فضّل match دائماً عند تحويل قيمة مدخلة أو شرط match (true) إلى قيمة مخرجة. تذكر دائماً الفاصلة المنقوطة }; في نهاية تعبير match. لا تضع أبداً الأمر break; داخل مسارات match.