If Statement2

  1. ما هي if statement
  2. تركيبها الأساسي
  3. جميع الصيغ المرتبطة بها (if، if-else، if-elseif-else)
  4. الاختصارات (ternary operator، null coalescing operator)
  5. أمثلة عملية متنوعة
  6. ملاحظات مهمة وميزات
  7. الاستخدامات والفوائد
🧠 أولًا: ما هي if statement في PHP؟

if statement هي أداة تحكم (control structure) تُستخدم لتنفيذ جزء معين من الكود فقط إذا تحقق شرط معين. تُستخدم لاتخاذ القرارات داخل البرنامج.

🧱 ثانيًا: البنية الأساسية
if (condition) {
    // الكود ينفّذ فقط إذا كان الشرط true
}
PHP
✅ ثالثًا: أنواع جمل if في PHP
1. if فقط
$age = 20;

if ($age >= 18) {
    echo "أنت بالغ.";
}
PHP
2. if – else
$loggedIn = false;

if ($loggedIn) {
    echo "مرحبًا بك!";
} else {
    echo "يرجى تسجيل الدخول.";
}
PHP
3. if – elseif – else
$score = 75;

if ($score >= 90) {
    echo "ممتاز";
} elseif ($score >= 75) {
    echo "جيد جدًا";
} elseif ($score >= 60) {
    echo "جيد";
} else {
    echo "راسب";
}
PHP
⚡ رابعًا: الاختصارات
🔹 Ternary Operator (المشغل الثلاثي)
📌 ما هو؟

هو اختصار بسيط لجملة if-else، يُستخدم عندما نريد اتخاذ قرار بسيط وتخزين أو طباعة النتيجة في سطر واحد فقط.

✅ الصيغة العامة:
الشرط ? القيمة_إذا_كان_صحيح : القيمة_إذا_كان_خطأ;
PHP
🟢 مثال بسيط:
$age = 20;
echo ($age >= 18) ? "مسموح" : "ممنوع";
PHP

📌 الشرح:

  • إذا كان $age >= 18 ⇒ يطبع "مسموح"
  • إذا كان العكس ⇒ يطبع "ممنوع"

✅ نفس الشيء باستخدام if التقليدي:

if($age >= 18) {
  echo "مسموح";
} else {
  echo "ممنوع";
}
PHP
🧪 مثال عملي داخل HTML:
<?php
$is_logged_in = true;
?>
<p>
  <?php $is_logged_in ? "أهلاً بعودتك!" : "يرجى تسجيل الدخول."; ?>
</p>
PHP
🔄 استخدامه في التعيين (assignment):
$status = ($score >= 50) ? "ناجح" : "راسب";
PHP

✴️ أسرع وأسهل من كتابة:

if($score >= 50) {
  $status = "ناجح";
} else {
  $status = "راسب";
}
PHP
✳️ متى نستخدم Ternary Operator؟
الحالةهل مناسب؟
✅ شرط بسيط وقصيرممتاز جداً
✅ طباعة قيمة بناءً على شرطشائع جداً
❌ شرط مع عدة أسطر أو تعقيدلا يُنصح
⚠️ محاذير للمبتدئين:
التحذيرالتوضيح
❌ لا تُكثر من التفرعات داخل ternaryقد يصبح غير مقروء
❌ لا تستخدمه في شروط معقدةاستخدم if التقليدي
❌ لا تنس الأقواس عند الحاجةخاصة إذا كنت داخل echo أو HTML
✅ لا تنس وضع : و ? بشكل صحيحلأن الخطأ فيها صعب اكتشافه
📌 تحسين القراءة:

استخدم أقواس لتوضيح المعنى:

echo ($user == "admin") ? "لوحة التحكم" : "مستخدم عادي";
PHP
🧠 هل يمكن التداخل؟ (Nested ternary)

نعم، لكن لا يُنصح بها للمبتدئين لأنها مربكة:

$type = ($role == "admin") ? "مدير" : (($role == "mod") ? "مشرف" : "مستخدم");
PHP

🟥 الأفضل استخدام if في هذه الحالات لتسهيل الفهم والصيانة.

📘 تدريب للمبتدئين:

أنشئ كودًا يحدد ما إذا كان المستخدم بالغًا أو طفلًا بناءً على العمر:

<?php
$age = 16;
echo ($age >= 18) ? "بالغ" : "طفل";
?>
PHP
✅ نصائح عامة:
  • رائع في HTML وداخل الطباعة المباشرة.
  • لا يُغني عن if في العمليات المعقدة.
  • يساعد على كتابة كود أنظف، إذا استُخدم في مكانه الصحيح.
💎 تلخيص سريع:
  • ternary = شرط؟ إذا نعم : إذا لا
  • مثال: $x = ($a > 5) ? "كبير" : "صغير";
  • مفيد للطباعة أو التعيين البسيط.
  • لا تستخدمه داخل شروط طويلة أو معقدة.
$isAdmin = true;
echo $isAdmin ? "أنت مشرف" : "أنت مستخدم عادي";
PHP
🔹 Null Coalescing Operator (??)

يستخدم لتحديد قيمة بديلة في حال كانت القيمة الأولى null أو غير موجودة.

$username = $_GET['username'] ?? 'زائر';
echo $username;
PHP
💡 خامسًا: أمثلة عملية شاملة
✅ التحقق من كلمة المرور
$password = "123456";

if ($password === "123456") {
    echo "تم تسجيل الدخول بنجاح";
} else {
    echo "كلمة المرور غير صحيحة";
}
PHP
✅ التحقق من نوع المتصفح
$userAgent = $_SERVER['HTTP_USER_AGENT'];

if (strpos($userAgent, 'Chrome') !== false) {
    echo "أنت تستخدم متصفح كروم";
} elseif (strpos($userAgent, 'Firefox') !== false) {
    echo "أنت تستخدم فايرفوكس";
} else {
    echo "متصفح غير معروف";
}
PHP
✅ التحقق من حقول نموذج
if (!empty($_POST['email']) && !empty($_POST['password'])) {
    echo "تم إرسال النموذج";
} else {
    echo "يرجى تعبئة جميع الحقول";
}
PHP
🧩 سادسًا: الميزات والملاحظات
الميزةالتوضيح
قابلة للتعشيشيمكن وضع if داخل if
تقرأ من الأعلى للأسفلتُنفذ أول شرط يتحقق
تدعم جميع أنواع القيم المنطقيةمثل true/false، المقارنات، boolean functions
تستخدم مع أي نوع بياناتعدد، سلسلة نصية، كائن، إلخ
🛠️ سابعًا: فوائد واستخدامات جملة if
  • التحكم في سير البرنامج
  • التحقق من صحة المدخلات
  • تحديد الأذونات (مثل المستخدم أو الأدمن)
  • تخصيص واجهة المستخدم بناءً على الحالة
  • معالجة حالات الخطأ
🧪 ثامنًا: مثال عملي متقدم – نظام تسجيل دخول
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';

if ($username === 'admin' && $password === 'secret') {
    echo "مرحبًا، مشرف!";
} elseif ($username === 'admin') {
    echo "كلمة المرور خاطئة";
} else {
    echo "المستخدم غير موجود";
}
PHP
🔄 تاسعًا: (Nested if)
$age = 25;
$isStudent = true;

if ($age > 18) {
    if ($isStudent) {
        echo "أنت طالب بالغ";
    } else {
        echo "أنت بالغ";
    }
}
PHP
✨ عاشرًا: ملخص سريع
النوعالاستخدام
ifتنفيذ شرط واحد
if - elseأحد احتمالين
if - elseif - elseحالات متعددة
?:اختصار if else
??التحقق من null

إذا كنت ترغب بشرح مصوّر، أو دمج هذه الأمثلة في مشروع عملي مثل نظام تسجيل دخول أو نموذج تسجيل بيانات، فأخبرني وسأكمله لك فورًا.

✅ المثال الأول: التحقق من الرقم إذا كان موجبًا أو سالبًا
$number = -5;

if ($number > 0) {
    echo "العدد موجب";
} elseif ($number < 0) {
    echo "العدد سالب";
} else {
    echo "العدد صفر";
}
PHP
✅ المثال الثاني: التحقق من العمر للدخول إلى موقع
$age = 16;

if ($age >= 18) {
    echo "مرحبًا بك في الموقع!";
} else {
    echo "عذرًا، الموقع مخصص لمن هم فوق 18 سنة.";
}
PHP
✅ المثال الثالث: تحديد نوع اليوم (عمل أو عطلة)
$day = "الجمعة";

if ($day === "الجمعة" || $day === "السبت") {
    echo "اليوم عطلة";
} else {
    echo "اليوم يوم عمل";
}
PHP
✅ المثال الرابع: مقارنة رقمين
$a = 10;
$b = 20;

if ($a > $b) {
    echo "الرقم A أكبر من B";
} elseif ($a < $b) {
    echo "الرقم B أكبر من A";
} else {
    echo "الرقمان متساويان";
}
PHP