جملة 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.
التحدي
سهل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
// حدد الإجراء المناسب بناءً على لون إشارة المرور
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوصتدرّب بنفسك: مترجم PHP عبر الإنترنت