المعاملات المنطقية - الجزء الأول
جزء من قسم الأساسيات في رحلة PHP على Coddy. الدرس 25 من 71.
العوامل المنطقية تتيح لك دمج عدة تعبيرات منطقية في تعبير واحد. وهذا أمر ضروري عندما تحتاج إلى التحقق من عدة شروط في آنٍ واحد.
يُرجع عامل AND (&&) القيمة true فقط عندما يكون كلا الشرطين صحيحين:
<?php
$age = 25;
$hasLicense = true;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(true)
$age = 16;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(false) - شرط العمر يفشل
?>يعيد عامل OR (||) القيمة true عندما يكون least condition واحدًا على الأقل صحيحًا:
<?php
$isWeekend = true;
$isHoliday = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true) - نهاية الأسبوع صحيحة
$isWeekend = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(false) - كلاهما خاطئ
?>فكّر في && على أنه يعني "both يجب أن تكون صحيحة"، وفي || على أنه يعني "يجب أن تكون least واحدة صحيحة". في الدرس التالي، ستتعلّم عن عامل NOT وكيفية دمج عدة عوامل منطقية.
التحدي
سهلاقرأ أربع قيم من الإدخال: عددًا صحيحًا age، وسلسلة نصية hasTicket (إما "true" أو "false")، وسلسلة نصية isMember (إما "true" أو "false")، وسلسلة نصية hasInvitation (إما "true" أو "false").
حوّل القيم النصية إلى قيم منطقية بمقارنتها مع "true".
قيّم الشرطين التاليين واطبع نتيجة كل منهما باستخدام var_dump()، بحيث تظهر كل نتيجة في سطر جديد:
- تحقّق مما إذا كان بإمكان الشخص دخول الحدث: يجب أن يكون عمره 18 عامًا على الأقل AND وأن يملك تذكرة
- تحقّق مما إذا كان الشخص سيحصل على دخول مجاني: يجب أن يكون عضوًا OR أن يملك دعوة
مثال:
إذا كانت المدخلات هي 25، وtrue، وfalse، وtrue، فيجب أن يكون الناتج:
bool(true)
bool(true)الشرح:
- 25 >= 18 AND hasTicket تساوي true → true
- isMember تساوي false OR hasInvitation تساوي true → true
جرّب بنفسك
<?php
// اقرأ قيم الإدخال
$age = intval(fgets(STDIN));
$hasTicket = trim(fgets(STDIN));
$isMember = trim(fgets(STDIN));
$hasInvitation = trim(fgets(STDIN));
// TODO: حوّل قيم السلاسل النصية إلى قيم منطقية بمقارنتها بـ "true"
// TODO: تحقق مما إذا كان الشخص يمكنه دخول الحدث (على الأقل 18 AND لديه تذكرة)
// TODO: تحقق مما إذا كان الشخص يحصل على دخول مجاني (هو عضو OR لديه دعوة)
// أخرج النتائج باستخدام var_dump()
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوصتدرّب بنفسك: مترجم PHP عبر الإنترنت