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

جملة Switch

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

عندما تحتاج إلى مقارنة متغيّر واحد بالعديد من القيم المحددة، توفّر switch statement بديلاً أكثر وضوحًا لسلاسل 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 وكل حالة. عندما تجد تطابقًا، تُشغّل تعليمات تلك الكتلة البرمجية.

إن statement break مهم للغاية. فهو يخبر PHP بالخروج من switch بعد تنفيذ case المطابقة. وبدونه، سيواصل PHP تشغيل كل التعليمات البرمجية الموجودة في below، حتى من case أخرى.

لاحظ كيف يشترك Saturday وSunday في الشيفرة نفسها من خلال تجميع الحالات معًا. تعمل حالة 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

التحدي

سهل

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

استخدم عبارة switch لتحديد الإجراء appropriate based على color:

  • إذا كان الأمر هو 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اختبر نفسك

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

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

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