القيم المنطقية في PHP

من موسوعة حسوب
< PHP

القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً TRUE أو خطأً FALSE.

البنية العامة

لتحديد قيمة متغير منطقي، استخدم الثوابت TRUE (صحيح) أو FALSE (خطأ)، وكلاهما غير حساس لحالة الأحرف.

<?php
$foo = True; // إسناد قيمة منطقية إلى المتغير
?>

تُعيد المعاملات عادةً قيمًا منطقيةً التي تُمرَّر بدورها إلى بنى التحكم؛ ففي المثال الآتي استخدمنا المعامل == الذي يختبر مساواة قيمتين ويُعيد قيمةً منطقيةً

<?php
// اختبار المساواة باستعمال المعامل == الذي يعيد قيمةً منطقيةً
if ($action == "show_version") {
    echo "The version is 1.23";
}

// هذا ليس ضروريًا
if ($show_separators == TRUE) {
    echo "<hr>\n";
}

// فالبنية الآتية لها نفس المعنى
if ($show_separators) {
    echo "<hr>\n";
}
?>

تحويل القيم إلى قيم منطقية

لتحويل قيمة ما إلى قيمة منطقية، يمكنك استخدام «جبائر» (cast) التحويل (bool) أو (boolean) لكن هذا ليس ضروريًا في أغلب الحالات، لأن القيمة ستحوَّل تلقائيًا إذا كان المعامل أو الدالة أو البنية الشرطية تتطلب معاملًا منطقيًا.

يمكنك الإطلاع على صفحة التعامل مع الأنواع (Type Juggling) للمزيد من المعلومات. 

تُعدّ هذه القيم FALSE عند تحويلها إلى قيمة منطقية: 

أي قيمة أخرى ستُعدّ TRUE بما في ذلك أيّة موارد (resource) و NAN.

تحذير: ستُعدّ القيمة ‎-1 على أنها TRUE مثل أي رقم لا يساوي الصفر (سواء كان سالبًا أو موجبًا).

<?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?>

مصادر