الفرق بين المراجعتين لصفحة: «PHP/boolean»

من موسوعة حسوب
< PHP
ط استبدال النص - 'PHP/Types/resource' ب'PHP/resource'
تعديلات طفيفة
 
(3 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة)
سطر 3: سطر 3:


== البنية العامة ==
== البنية العامة ==
لتحديد قيمة متغير منطقي، استخدام الثوابت <code>TRUE</code> (صحيح) أو <code>FALSE</code> (خطأ)، وكلاهما غير حساس لحالة الأحرف.<syntaxhighlight lang="php">
لتحديد قيمة متغير منطقي، استخدم الثوابت <code>TRUE</code> (صحيح) أو <code>FALSE</code> (خطأ)، وكلاهما غير حساس لحالة الأحرف.<syntaxhighlight lang="php">
<?php
<?php
$foo = True; // إسناد قيمة منطقية إلى المتغير
$foo = True; // إسناد قيمة منطقية إلى المتغير
?>
?>
</syntaxhighlight>تُعيد [[PHP/Operators|المعاملات]] عادةً قيمًا منطقيةً التي تُمرَّر بدورها إلى [[PHP/Control Structures|بنى التحكم]]؛ ففي المثال الآتي استخدمنا المعامل <code>==</code> الذي يختبر مساواة قيمتين ويُعيد قيمةً منطقيةً:<syntaxhighlight lang="php">
</syntaxhighlight>تُعيد [[PHP/Operators|المعاملات]] عادةً قيمًا منطقيةً التي تُمرَّر بدورها إلى [[PHP/Control Structures|بنى التحكم]]؛ ففي المثال الآتي استخدمنا المعامل <code>==</code> الذي يختبر مساواة قيمتين ويُعيد قيمةً منطقيةً<syntaxhighlight lang="php">
<?php
<?php
// اختبار المساواة باستعمال المعامل == الذي يعيد قيمةً منطقيةً
// اختبار المساواة باستعمال المعامل == الذي يعيد قيمةً منطقيةً
سطر 29: سطر 29:
لتحويل قيمة ما إلى قيمة منطقية، يمكنك استخدام «جبائر» (cast) التحويل <code>(bool)</code> أو <code>(boolean)</code> لكن هذا ليس ضروريًا في أغلب الحالات، لأن القيمة ستحوَّل تلقائيًا إذا كان المعامل أو الدالة أو البنية الشرطية تتطلب معاملًا منطقيًا.
لتحويل قيمة ما إلى قيمة منطقية، يمكنك استخدام «جبائر» (cast) التحويل <code>(bool)</code> أو <code>(boolean)</code> لكن هذا ليس ضروريًا في أغلب الحالات، لأن القيمة ستحوَّل تلقائيًا إذا كان المعامل أو الدالة أو البنية الشرطية تتطلب معاملًا منطقيًا.


يمكنك الإطلاع على صفحة [[PHP/Types/type-juggling|التعامل مع الأنواع]] (Type Juggling) للمزيد من المعلومات. 
يمكنك الإطلاع على صفحة [[PHP/type juggling|التعامل مع الأنواع]] (Type Juggling) للمزيد من المعلومات. 


تُعدّ هذه القيم <code>FALSE</code> عند تحويلها إلى قيمة منطقية: 
تُعدّ هذه القيم <code>FALSE</code> عند تحويلها إلى قيمة منطقية: 
سطر 35: سطر 35:
* [[PHP/integer|العدد الصحيح]] <code>0</code> 
* [[PHP/integer|العدد الصحيح]] <code>0</code> 
* [[PHP/float|العدد ذو الفاصلة العشرية]] (العائمة) <code>0.0</code> 
* [[PHP/float|العدد ذو الفاصلة العشرية]] (العائمة) <code>0.0</code> 
* [[PHP/Types/string|سلسلة نصية]] فارغة أو التي تحتوي على <code>"0"</code> 
* [[PHP/string|سلسلة نصية]] فارغة أو التي تحتوي على <code>"0"</code> 
* [[PHP/array|مصفوفة]] لا تحتوي على أي عنصر 
* [[PHP/array|مصفوفة]] لا تحتوي على أي عنصر 
* النوع الخاص <code>NULL</code> (بما في ذلك المتغيرات التي لم تُعيَّن قيم لها) 
* النوع الخاص <code>[[PHP/null|NULL]]</code> (بما في ذلك المتغيرات التي لم تُعيَّن قيم لها) 
* كائنات <code>SimpleXML</code> التي أُنشِئَت من وسوم فارغة
* كائنات <code>SimpleXML</code> التي أُنشِئَت من وسوم فارغة
أي قيمة أخرى ستُعدّ <code>TRUE</code> بما في ذلك أيّة [[PHP/resource|موارد]] (resource) و <code>NAN</code>.  
أي قيمة أخرى ستُعدّ <code>TRUE</code> بما في ذلك أيّة [[PHP/resource|موارد]] (resource) و <code>NAN</code>.  

المراجعة الحالية بتاريخ 16:29، 5 يونيو 2018

القيم المنطقية (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)
?>

مصادر