الفرق بين المراجعتين لصفحة: «PHP/boolean»
ط استبدال النص - 'PHP/Types/type-juggling' ب'PHP/type juggling' |
رؤيا-بنعطية (نقاش | مساهمات) تعديلات طفيفة |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 3: | سطر 3: | ||
== البنية العامة == | == البنية العامة == | ||
لتحديد قيمة متغير منطقي، | لتحديد قيمة متغير منطقي، استخدم الثوابت <code>TRUE</code> (صحيح) أو <code>FALSE</code> (خطأ)، وكلاهما غير حساس لحالة الأحرف.<syntaxhighlight lang="php"> | ||
<?php | <?php | ||
$foo = True; // إسناد قيمة منطقية إلى المتغير | $foo = True; // إسناد قيمة منطقية إلى المتغير | ||
?> | ?> | ||
</syntaxhighlight>تُعيد [[PHP/Operators|المعاملات]] عادةً قيمًا منطقيةً التي تُمرَّر بدورها إلى [[PHP/Control Structures|بنى التحكم]]؛ ففي المثال الآتي استخدمنا المعامل <code>==</code> الذي يختبر مساواة قيمتين ويُعيد قيمةً منطقيةً | </syntaxhighlight>تُعيد [[PHP/Operators|المعاملات]] عادةً قيمًا منطقيةً التي تُمرَّر بدورها إلى [[PHP/Control Structures|بنى التحكم]]؛ ففي المثال الآتي استخدمنا المعامل <code>==</code> الذي يختبر مساواة قيمتين ويُعيد قيمةً منطقيةً<syntaxhighlight lang="php"> | ||
<?php | <?php | ||
// اختبار المساواة باستعمال المعامل == الذي يعيد قيمةً منطقيةً | // اختبار المساواة باستعمال المعامل == الذي يعيد قيمةً منطقيةً | ||
سطر 37: | سطر 37: | ||
* [[PHP/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
عند تحويلها إلى قيمة منطقية:
- الكلمة
FALSE
- العدد الصحيح
0
- العدد ذو الفاصلة العشرية (العائمة)
0.0
- سلسلة نصية فارغة أو التي تحتوي على
"0"
- مصفوفة لا تحتوي على أي عنصر
- النوع الخاص
NULL
(بما في ذلك المتغيرات التي لم تُعيَّن قيم لها) - كائنات
SimpleXML
التي أُنشِئَت من وسوم فارغة
أي قيمة أخرى ستُعدّ 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)
?>