if وelseif وelse
اتخذوا القرارات في PHP باستخدام التفرّع الشرطي.
if وelseif وelse درس مجاني في PHP Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في PHP Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة PHP Academy 4 دروس في المجموع.
المنطق الشرطي في PHP
تتيح العبارات الشرطية لبرنامجك اتخاذ القرارات. توفر PHP العبارات if وelseif وelse لتنفيذ المنطق التفرعي.
يُقيَّم الشرط داخل if () على أنه قيمة منطقية — فإذا كان صحيحًا استمر التنفيذ داخل الكتلة، وإذا كان خاطئًا تم تجاوزها.
عبارة if الأساسية
أبسط شرط — شغّل الشيفرة فقط عندما يكون الشرط صحيحًا:
<?php
$age = 20;
if ($age >= 18) {
echo 'Adult';
}
// Output: Adultif / else
أضف فرع else للحالة التي يكون فيها الشرط خاطئًا:
<?php
$score = 45;
if ($score >= 50) {
echo 'Pass';
} else {
echo 'Fail'; // runs
}سلاسل elseif
اختبر عدة شروط بالتتابع باستخدام elseif:
<?php
$grade = 78;
if ($grade >= 90) {
echo 'A';
} elseif ($grade >= 80) {
echo 'B';
} elseif ($grade >= 70) {
echo 'C'; // runs
} else {
echo 'F';
}عوامل المقارنة
العوامل المستخدمة في الشروط:
==يساوي (غير صارم)===متطابق (صارم)!=لا يساوي<>أصغر من/أكبر من<=>=أصغر من أو يساوي/أكبر من أو يساوي
فضّل === لتجنب المفاجآت الناتجة عن تحويل الأنواع.
العوامل المنطقية
اجمع الشروط باستخدام العوامل المنطقية:
<?php
$age = 25;
$member = true;
if ($age >= 18 && $member) {
echo 'Access granted'; // both true
}
if ($age < 18 || $member) {
echo 'Also granted'; // one is true
}
if (!$member) {
echo 'Not a member';
}العامل الثلاثي
العامل الثلاثي عبارة مختصرة في سطر واحد لتنفيذ if/else البسيط:
<?php
$age = 20;
$status = ($age >= 18) ? 'adult' : 'minor';
echo $status; // adult
// Null coalescing operator ?? (PHP 7+)
$name = $_GET['name'] ?? 'Guest';
echo $name; // 'Guest' if name not in URLإسناد الدمج مع null
أضافت PHP 7.4 العامل ??= لإسناد قيمة افتراضية فقط عندما يكون المتغير null أو غير مُعيَّن:
<?php
$config = [];
$config['debug'] ??= false;
$config['timeout'] ??= 30;
var_dump($config);
// ['debug' => false, 'timeout' => 30]صيغة if البديلة
تدعم PHP صيغة النقطتين البديلة لاستخدامها داخل قوالب HTML:
<?php $loggedIn = true; ?>
<?php if ($loggedIn): ?>
<p>Welcome back!</p>
<?php else: ?>
<p>Please log in.</p>
<?php endif; ?>عامل سفينة الفضاء
يقارن عامل سفينة الفضاء <=> قيمتين ويعيد -1 أو 0 أو 1 — وهو مثالي للفرز:
<?php
echo 1 <=> 2; // -1 (left is less)
echo 2 <=> 2; // 0 (equal)
echo 3 <=> 2; // 1 (left is greater)
$nums = [3, 1, 4, 1, 5];
usort($nums, fn($a, $b) => $a <=> $b);
print_r($nums); // [1, 1, 3, 4, 5]match مقابل if
تُعد match في PHP 8 بديلًا أكثر صرامة لسلاسل if/elseif الطويلة — وستتعلمها في الدرس التالي. والفرق الأساسي عن if هو أن match تستخدم مقارنة صارمة ولا تُجري تحويلًا تلقائيًا للأنواع.
تحقق سريع
ما وظيفة العامل ??؟
مراجعة: if/elseif/else
النقاط الأساسية:
- استخدم
ifوelseifوelseلتنفيذ المنطق التفرعي - فضّل
===على==لتجنب تحويل الأنواع - استخدم العامل الثلاثي
?:للفروع المختصرة ذات التعبير الواحد - استخدم
??للقيم الافتراضية عند الدمج مع null - استخدم صيغة النقطتين البديلة في قوالب HTML
التالي: عبارتا switch وmatch.
الأسئلة الشائعة
هل درس «if وelseif وelse» مجاني؟
نعم — نص درس «if وelseif وelse» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة PHP Academy، انتقل إلى CoddyKit PRO. تتضمن دورة PHP Academy 4 دروس في المجموع.
ماذا ستتعلم في «if وelseif وelse»؟
اتخذوا القرارات في PHP باستخدام التفرّع الشرطي. تتمرن على PHP Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ PHP Academy؟
لا تُشترط خبرة سابقة. PHP Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «if وelseif وelse»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس PHP Academy هذا؟
نعم. كل درس في PHP Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- if وelseif وelse
- عبارات Switch وMatch
- حلقتا for وwhile
- foreach والتحكم في الحلقات