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

Strict Identity Check in match المقارنة الصارمة للنوع والقيمة

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

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

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

على عكس switch، يجري match دائماً مقارنة تطابق صارمة (===)، مما يمنع أخطاء الخلط التلقائي بين النصوص والأعداد والقيم المنطقية.

  • في match، النص "200" لن يتطابق أبداً مع المسار الرقمي 200 => ....
  • العدد الصحيح 0 لن يتطابق مع false أو null أو النص الفارغ "".
  • تعمل المقارنة الصارمة تلقائياً في match حتى لو لم يتم كتابة declare(strict_types=1).

لأن $rawInput نص "1"، يتخطى match العدد الصحيح 1 والقيمة المنطقية true ويطابق فقط المسار النصي "1".

PHP
<?php

$rawInput = "1";

$result = match ($rawInput) {
    1 => "Matched integer 1",
    true => "Matched boolean true",
    "1" => "Matched string '1' strictly",
    default => "Other",
};

echo "$result\n";