ما نتيجة مقارنة “0” === 0 في PHP؟

سهلقراءة دقيقةآخر تحديث 1 أكتوبر 2026

PHP تطوير الويب

الإجابة

النتيجة: غير متساويين.

$x = "0";  // string
$y = 0;    // integer

var_dump($x === $y);  // false
var_dump($x == $y);   // true

مع === لا يحدث أي تحويل، و"0" نص بينما 0 عدد، فلا يتطابقان.

لماذا “0” حالة خاصة؟

في PHP يُعتبر النص "0" قيمة falsy:

if ("0") { echo 'never printed'; }
empty("0");  // true

هذا يفاجئ كثيرين عند التحقق من مدخلات النماذج، فانتبه له.

اختبر فهمك

ماذا يطبع الكود التالي في PHP؟

$x = "0";
$y = 0;

if ($x === $y) {
    echo "Strictly equal";
} else {
    echo "Not strictly equal";
}