Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

المعاملات المنطقية - الجزء الأول

جزء من قسم الأساسيات في رحلة 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 وكيفية دمج عدة عوامل منطقية.

challenge icon

التحدي

سهل

اقرأ أربع قيم من الإدخال: عددًا صحيحًا age، وسلسلة نصية hasTicket (إما "true" أو "false")، وسلسلة نصية isMember (إما "true" أو "false")، وسلسلة نصية hasInvitation (إما "true" أو "false").

حوّل القيم النصية إلى قيم منطقية بمقارنتها مع "true".

قيّم الشرطين التاليين واطبع نتيجة كل منهما باستخدام var_dump()، بحيث تظهر كل نتيجة في سطر جديد:

  1. تحقّق مما إذا كان بإمكان الشخص دخول الحدث: يجب أن يكون عمره 18 عامًا على الأقل AND وأن يملك تذكرة
  2. تحقّق مما إذا كان الشخص سيحصل على دخول مجاني: يجب أن يكون عضوًا 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()

?>
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم PHP عبر الإنترنت