تاسعا : الجملة الشرطية SWITCH
بعد أن شرحنا سابقا الجمل الشرطية الثلاثة المترابطة ( if و else و elseif ) سوف نشرح الآن الجملة switch ..
في الحقيقة الجملة switch تقوم باختصار الجمل الثلاث السابقة ، حيث أنها تتيح إدخال أكثر من شرط وليست كالجملة if التي تحتاج للجملة elseif حتى تدخل أكثر من شرط .
سوف نقوم بتطبيق مباشر على مثالنا ... فعلى سبيل المثال لو أردنا معرفة كيف عرف الزبون بموقعنا ، سنضع قائمة منسدلة أولا في الفورم كما يلي :
كود:
<tr>
<td width="50%" align="center">
<select name="know">
<option value = "">
<option value = "a">من خلال منتديات سوالف
<option value = "b">من خلال إعلان في الجريدة
<option value = "c">من خلال إعلان تلفزيوني
<option value = "d">نصيحة من صديق
</select>
</td>
<td width="50%" align="center"><b><font face="Simplified Arabic">كيف عرفت
بموقعنا ؟</font></b></td>
</tr>
أضفه في الملف food.html في المكان الموضح بالصورة :
-------------------------------------------------------------------------

-------------------------------------------------------------------------
لاحظوا في الكود أننا أضفنا قائمة منسدلة واسميناها know ( أي أن المتغير في php سيكون know$ ) ، مكونة من أربع عناصر ، رموزها : (a,b,c,d) ... والآن سنكتب كود php يقوم باستقبال ما اختاره الزائر من القائمة ويظهره للزائر .
نستطيع كتابة هذا الكود كما أشرنا سابقا بطريقتين :
1- بطريقة الجمل الشرطية if - else - elseif :
-------------------------------------------------------------------------

-------------------------------------------------------------------------
لقد شرحنا طريقة عمل هذه الجمل في الدرس السابق وأفترض انكم تفهمون تماما ما قمت بعمله هنا ! أليس كذلك ؟!؟
2- بطريقة الجملة switch :
--------------------------------------------------------------------------

--------------------------------------------------------------------------
والآن سأبدأ بشرح الجملة بالتفصيل :
أولا قمنا بكتابة الجملة وبجانبها قوسين فيهما المتغير الذي جلبنا منه القيم ، ألا وهو القائمة المنسدلة التي أسميناها know$ .
هذه الجملة مشابهة تماما للجملة if ، ولكن هناك اختلافين :
الأول : في القوسين بدلا من كتابة الشرط كما في الجملة if ، نكتب فقط المتغير الذي سنطبق عليه الشروط .
الثاني : في الجملة if لا داعي للأقواس المعقوفة { } إلا إذا طبقنا أكثر من جملة واحدة ، لكن في switch فهذه الأقواس ضرورية دائما .
والآن سنأتي لتوابع الجملة switch وهي ثلاثة فقط :
case و break و default .
التابع الأول case ... ويستخدم لوضع الشرط ، فمثالنا السابق يقول : ( switch تمرير المتغير know$ على الحالات case ففي حالة a قم بعمل التنفيذ ... ) وهنا يوجد عندنا أربع حالات a و b و c وd ، سوف تقوم الجملة switch بتمرير المتغير know$ على هذه الحالات كلها ، وإذا انطبق المتغير مع أحدها سوف يطبق ما بداخلها ، ولكن هذه الجملة ستستمر في التطبيق حتى تصطدم بالجملة break فلو لم نضع هذه الجملة سوف يستمر بتطبيق الشرط المتحقق وما بعده غن كان بعده شيء ، لذا عند نهاية كل حالة (شرط) نضع الجملة break لننبه الجملة switch أن الشرط قد انتهى .
ولكن ماذا لو لم ينطبق أي من هذه الحالات ( الشروط ) ، عندها ستطبق switch ما يوجد داخل default ، فـdefault هذه قريبة جدا من عمل الجملة else إذا تذكرون !! حيث إذا لم ينطبق أي من الشروط السابقة سيطبق الأمور التي فيها .
هذا كل ما في الجملة switch .. وأريد أن أنبه لأمر مهم أنه يمكننا وضع حالتين أو أكثر لكل شرط كما يلي :
--------------------------------------------------------------------------

--------------------------------------------------------------------------
في الحقيقة لم يخطر ببالي مثال حي الآن ، ولكن ستحتاجها مستقبلا ، فأحببت أن أنبهكم لها .
لقد انتهينا من هذا الدرس وبحمد الله ... ودرسنا التالي سيتمحور حول موضوع مثير جدا ألا وهو التكرار ، وكيفية تنفيذ الأوامر المكررة كثيرا بكتابة 4 أو 5 سطور فقط !!
انتظرونا ...