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

Strict Identity vs Loose Equality Rules قواعد التطابق الصارم === مقابل المساواة المرنة ==

أتقن معاملات المقارنة الصارمة والمرنة، ومعامل السفينة الفضائية، والمعاملات المنطقية، ودمج الفارغ، وجدول أولويات المعاملات في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

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

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

يفحص التطابق الصارم (=== و!==) تطابق نوع البيانات والقيمة معاً، بينما تقوم المساواة المرنة (== و!=) بتحويل الأنواع تلقائياً قبل المقارنة.

  • مع التطابق الصارم، نتيجة 42 === "42" هي false ونتيجة 0 === false هي false.
  • في PHP 8.0+، تم إصلاح المقارنة المرنة 0 == "non-numeric" لتُرجع false بعد أن كانت true في PHP 7.
  • اجعل استخدام === و!== القاعدة الدائمة في جميع مقارنات كود PHP الخاص بك.

المقارنة 42 === "42" تُرجع false لاختلاف النوع بين رقم ونص، وفي PHP 8 تُرجع 0 == "hello" القيمة false.

مخطط توضيحي: محاكي معاملات المقارنة والمنطق وأولويات التنفيذ في PHP
PHP
<?php
var_dump(42 === 42);
var_dump(42 === "42");
var_dump(42 == "42");
var_dump(0 == "hello");
var_dump(0 === false);