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

جملة Switch

جزء من قسم Fundamentals في رحلة PHP على Coddy — الدرس 32 من 71.

عندما تحتاج إلى مقارنة متغير واحد بالعديد من القيم المحددة، توفر جملة switch بديلاً أكثر تنظيماً لسلاسل if-elseif الطويلة.

تتحقق جملة switch من متغير مرة واحدة ثم تطابقه مع قيم case مختلفة:

<?php
$day = "Monday";

switch ($day) {
    case "Monday":
        echo "Start of the week";
        break;
    case "Friday":
        echo "Almost weekend";
        break;
    case "Saturday":
    case "Sunday":
        echo "Weekend!";
        break;
    default:
        echo "Regular day";
}
?>

يقارن PHP قيمة $day مع كل حالة. وعندما يجد تطابقاً، فإنه ينفذ كود تلك الكتلة.

تُعد جملة break أمراً بالغ الأهمية—فهي تخبر PHP بالخروج من switch بعد تنفيذ الحالة المطابقة. وبدونها، سيستمر PHP في تشغيل جميع الأكواد البرمجية أدناه، حتى من الحالات الأخرى.

لاحظ كيف يشترك يوما السبت والأحد في نفس الكود من خلال تكديس الحالات معًا. تعمل الحالة default مثل else—فهي تُنفذ عندما لا تتطابق أي حالة أخرى.

<?php
$grade = "B";

switch ($grade) {
    case "A":
        echo "Excellent!";
        break;
    case "B":
        echo "Good job!";
        break;
    default:
        echo "Keep trying!";
}
?>

استخدم switch عند مقارنة متغير واحد بعدة قيم محددة. بالنسبة للشروط المعقدة أو النطاقات، التزم ببيانات if-elseif.

challenge icon

التحدي

سهل

اقرأ سلسلة نصية command من المدخلات تمثل لون إشارة المرور.

استخدم عبارة switch لتحديد الإجراء المناسب بناءً على اللون:

  • إذا كان الأمر red، اطبع Stop
  • إذا كان الأمر yellow، اطبع Slow down
  • إذا كان الأمر green، اطبع Go
  • إذا كان الأمر flashing red أو flashing yellow، اطبع Proceed with caution
  • لأي قيمة أخرى، اطبع Invalid signal

مثال:

إذا كانت المدخلات green، يجب أن تكون المخرجات:

Go

إذا كانت المدخلات flashing red، يجب أن تكون المخرجات:

Proceed with caution

إذا كانت المدخلات blue، يجب أن تكون المخرجات:

Invalid signal

جرّب بنفسك

<?php
// قراءة المدخلات
$command = trim(fgets(STDIN));

// TODO: اكتب كودك أدناه باستخدام جملة switch
// تحديد الإجراء المناسب بناءً على لون إشارة المرور


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

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

جميع دروس Fundamentals