مراجعة - المنطق البسيط
جزء من قسم Fundamentals في رحلة PHP على Coddy — الدرس 27 من 71.
التحدي
سهلاقرأ خمس قيم من المدخلات: عدد صحيح age، وعدد صحيح balance، وسلسلة نصية isStudent (إما "true" أو "false")، وسلسلة نصية hasPromoCode (إما "true" أو "false")، وعدد صحيح itemPrice.
قم بتحويل القيم النصية إلى قيم منطقية (booleans) عن طريق مقارنتها بـ "true".
قم بتقييم الشروط الثلاثة التالية واطبع نتيجة كل منها باستخدام var_dump()، كل منها في سطر جديد:
- تحقق مما إذا كان الشخص مؤهلاً للحصول على خصم الشباب: العمر (age) أقل من 25 و (AND) طالب (isStudent)
- تحقق مما إذا كان الشخص يستطيع تحمل تكلفة السلعة مع الخصم: الرصيد (balance) أكبر من أو يساوي سعر السلعة (itemPrice) أو (OR) (الرصيد لا يقل عن نصف سعر السلعة و (AND) لديه رمز ترويجي (hasPromoCode) هو true)
- تحقق مما إذا كان الشخص يحصل على أولوية الدفع: (العمر لا يقل عن 65 أو (OR) طالب (isStudent) هو true) و (AND) الرصيد أكبر من 0 و (AND) ليس (NOT) لديه رمز ترويجي (hasPromoCode)
مثال:
إذا كانت المدخلات هي 22، 50، true، false، و 80، فيجب أن تكون المخرجات:
bool(true)
bool(false)
bool(true)التفسير:
age < 25 && isStudent← 22 < 25 && true ← truebalance >= itemPrice || (balance >= itemPrice / 2 && hasPromoCode)← 50 >= 80 || (50 >= 40 && false) ← false || false ← false(age >= 65 || isStudent) && balance > 0 && !hasPromoCode← (false || true) && true && true ← true
جرّب بنفسك
<?php
// قراءة قيم المدخلات
$age = intval(fgets(STDIN));
$balance = intval(fgets(STDIN));
$isStudentStr = trim(fgets(STDIN));
$hasPromoCodeStr = trim(fgets(STDIN));
$itemPrice = intval(fgets(STDIN));
// تحويل القيم النصية إلى قيم منطقية (booleans)
$isStudent = $isStudentStr === "true";
$hasPromoCode = $hasPromoCodeStr === "true";
// TODO: اكتب الكود الخاص بك أدناه
// 1. التحقق مما إذا كان الشخص مؤهلاً للحصول على خصم الشباب
// 2. التحقق مما إذا كان بإمكان الشخص تحمل تكلفة السلعة مع الخصم
// 3. التحقق مما إذا كان الشخص يحصل على أولوية الدفع
?>جميع دروس Fundamentals
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوص