كما
قلنا في دروس سابقه ان لغة PHP لغه مسامحه , حيث انه
توفر لك العديد من المزايا , ولا اعلم بشكل صحيح 100%
اذا كانت المسافات تعتبر من الاشياء مسامحه ام لا ,
ولكن اليك ما اعرفه , في لغة PHP المسافات لا تحسب ,
اعني بذلك انه عندما تقوم بكتابة الكود فلا يميز
المترجم انه هناك مسافات في الكود او لا ......
بسم
الله الرحمن الرحيم
متطلبات قبل البدأ :
اهداف
الدرس:
-
المسافات في لغة PHP
-
العباره الشرطية SWITCH
-
عبارة التكرار FOR
-
عبارة التكرار DO...WHILE
-
عبارات داخل عبارات
- مثال
تطبيقي
المسافات في لغة PHP:
كما قلنا
في دروس سابقه ان لغة PHP
لغه مسامحه , حيث انه توفر لك العديد من المزايا , ولا
اعلم بشكل صحيح 100% اذا كانت المسافات تعتبر من
الاشياء مسامحه ام لا , ولكن اليك ما اعرفه , في لغة
PHP المسافات لا تحسب ,
اعني بذلك انه عندما تقوم بكتابة الكود فلا يميز
المترجم انه هناك مسافات في الكود او لا , بغض النظر
عن النصوص عندما تضعها بين علامتي التنصيص " " سوف
اقوم بكتابة كودين الان , ولاحظ الفرق بينهما , الاول
بمسافات والثاني بدون مسافات :

وهنا نفس
الكود لكن بدون مسافات :

قم بتشغيل
الكود الاول والثاني , وسوف تلاحظ ان جميع المثالين
اخرجا نفس الناتج بغض النضر عن المسافات
العباره الشرطية SWITCH :
تعلمنا في
الدرس قبل السابق العباره الشرطيه
IF وتوابعها والان سوف نتعلم العباره
SWITCH وهي تعمل بنفس طريقة
العباره IF ولكن يتم
كتابتها بطريقة اخرى ويتم تنفيذ شرط واحد فقط اما في
IF فيمكن كتابة عدة شروط ,
لنرى كيفية الكتابه , انظر الصوره التاليه :

لنقم
برؤية مثال على الطبيعه لتعرف كيفية عمل هذه الداله :

ارأيت
الطريقه ؟ بسيطه اليس كذلك ؟ ولاحظ اننا نعني بأنه
يمكن في العباره IF كتابة
اكثر من شرط مثل
if( == 1 && == 4 )
ولكن في العباره
SWITCH يمكننا فقط مقارنة
متغير واحد فقط
switch ( $ x ) , وايضا يمكن ان تقوم
بألغاء اخر سطرين ( في الصوره سطر رقم 18 و 19 ) ولا
يتوجب كتابتها وهي تعني (
ELSE
) اي غير ذلك (
حينما لا يتحقق اي شرط من الشروط ) , وايضا يجب
ان تتذكر انه دائما يجب عليك كتابة العباره
BREAK بعد نهاية كل
CASE في العبارة
SWITCH ولا يتوجب وجودها في
السطر الذي يحوي DEFAULT
عبارة التكرار FOR :
هناك عبارة
تكرار اخرى غير العباره WHILE
وهي العباره FOR , وتستخدم
دائما اكثر من العباره WHILE
لان ديناميكيتها اكبر من
WHILE ولكن ناتج عمل الاثنين واحد , واذا عملت
عباره بالاولى يمكن عملها بالثانيه والعكس , ولا يوجد
ناتج تقوم بعمله في الاولى ولا تستطيع ان تقوم به في
الثانيه , والقرار في
الاخير يرجع الى المبرمج , لنرى طريقة الكتابه وهي
كالتالي :

مثال على
العباره , لنقم بالعد من 1 الى خمسه , مثلما فعلنا مع
العباره WHILE ونرى ماهي
الاختلافات :

في هذه
المره قمنا بعملها فقط ب 5 اسطر , هل لاحظت الفروقات
الان ؟ الفرق الاول في العباره
WHILE اننا نحدد المتغير في البدايه , وزيادة
المتغير داخل العباره, اما في العباره
FOR فاننا نستطيع فعل ذلك
كله بين القوسين التي يوجد بها الشروط , ونترك باقي
العمل الى FOR , لا تنسى ان
++
هي نفسها =
+ 1
عبارة التكرار DO...WHILE
:
تختلف
عبارة التكرار هذه عن اختها WHILE
انها تقوم بتنفيذ الامر اولا , ثم بعد ذلك تقوم
بمقارنة الشرط , وطريقة كتابتها كالتالي :

لنقم مره
اخرى بكتابة الاعداد من 1 الى عشره ونرى الاختلاف ,
اكتب في محرر الاكواد التالي:

هل لاحظت
الاختلاف ؟ فقط انه قمنا بطباعة العدد قبل التحقق من
الشرط , والتغيير طفيف ويستخدم عند الحاجه , لا تقلق
في التطبيقات المتقدمه سوف نشاهد بعض من هذه الحيل
البرمجيه, ملاحظه:
لا تقم
ابدا بنسيان الفاصله المنقوطه بعد كتابة الشرط , والا
سوف يكون هناك خطأ برمجي في الكود :)
عبارات
داخل عبارات :
كما قلنا
في دروس سابقه , يمكننا ادراج عبارات داخل عبارات ,
اي انه يمكنك كتابة العباره FOR
وداخلها العباره FOR
, او العباره WHILE وداخلها
العباره FOR وداخلها
IF كل ذلك سهل جدا , ويحتاج
الى قليل من التركيز , سوف نقوم الان بعمل مثال تطبيقي
يحتوي على عبارة تكرار وداخلها عبارة تكرار , لنقم
بعمل جدول الضرب ونحاول مع بعضنا البعض كتابة الكود ,
لنقم بتسهيل الامر , قم بفتح برنامج
Microsoft FrontPage في
جهازك وقم بكتابة جدول الضرب العدد 2
من ( 1 - 5 ) , انظر
الشكل التالي:

وعند
مشاهدة محتوى كود ال phpL
سوف ترى التالي :

الان قم
بالتركيز معي لكي توضح الصوره , لو نظرت الى الكود
بالاعلى تجد انه phpL فقط
وتجد انه مكرر كثيرا , وانت تحتاج الى استخدام عبارات
التكرار لتقم بتسهيل الموضوع على نفسك , اذن يجب ان
تكتشف اماكن التكرار , دقق في الكود وحاول ان تعرف
اماكن التكرار ........... هل عرفت الاماكن ؟ انظر الى
الكود التالي وسوف احدد لك اماكن التكرار

انظر الى
الخطوط السوداء , ترى ان الوسم
<tr> و الوسم
</tr> يتكرران في كل
مره ننشئ بها صف ( ROW )
جديد , اذن الان نحتاج الى دالة تكرار ونحتاج ان تقوم
بالتكرار 5 مرات لاننا نريد جدول الضرب للعد 2 من ( 1
الى 5 ) ( قم بعد الخطوط السوداء وسوف تجد انها 5 خطوط
) , لكي نقوم بتكرار الاصفف , افتح محرر الاكواد واكتب
التالي :

الان لقد
عرفنا كيفية تكرار الاصفف , اذن لنظر الى صورة كود
phpL مره ثانيه , وقم
بالبحث عن تكرار جديد , اذا لم يوجد , فقد انتهينا ,
وان وجد فنحتاج الى ان نقوم بكتابة دالة التكرار مره
اخرى , ................. هل عرفت مكان التكرار الاخر
؟ انظر الى الصوره لترى اين هو

لاحظ هنا
ان الوسم <td> و
</td>
يتكرر في كل مره نكتب بها عدد جديد , والوسم
<TD> هو لكتابة الخلايا في
الجدول , تكرر الوسم عندنا , وفي كل مره نقوم بكتابة
الخليه مرتان , اذن نحتاج ان نقوم بالتكرار مرتان (
لاننا نريد جدول الضرب للعدد 2 ) , ارجع الى محرر
الاكواد واكتب التالي ( بين وسم
<tr> و
</tr> ) ,

ما قمنا به
هنا , اننا قمنا بتكرار الوسوم
<td> على حسب العدد الذي نريد انشاء عملية
الضرب له , لاحظ ان المتغير x
شرطه ان يكون اقل من او يساوي العدد 2 لكي
يستمر في التكرار , ولاحظ هنا اننا نقوم بعملية ضرب
المتغير x والمتغير
y في مكان كتابة محتوى الصف
, لكي نقوم بكل شي تلقائيا , قم بتشغيل الكود وسوف
يكون الناتج التالي :

ارأيت الان
قمنا بكتابة جدول الضرب للعدد 2 بمجرد عبارتين تكرار
صغيره :) ممتع جدا اليس كذلك ؟ لكن لم ننتهي بعد , لو
نظرت الى كود ال phpL ترى
اننا نريد كتابة العباره التاليه في الجدول ( مضروب
في ) , لكي نقوم بإخراج الجدول بشكل افضل , انظر الى
الصوره وستعرف ما اعنيه

كيف نقوم
بذلك في دالتين التكرار , قم بوضع يدك على رأسك
واستغرق في التفكير لمدة دقيقتان وانت تنظر الى الكود
, واسأل نفسك , كيف سأقوم بعملها , وسوف يأتيك الجواب
كالتالي , نقوم بكتابة العباره ( مضروب في ) في اول
وسم <td> وفي اول وسم
<tr> , يعني عندما يكون
المتغير x يساوي 1 وعندما
يكون المتغير y يساوي 1 ,
قمنا بحل المشكله وما نحتاجه هو عبارة
IF الشرطية ويكون شرطها انه
عندما يكون المتغير x يساوي
1 و المتغير y يساوي واحد ,
لا تقم بضرب المتغيرين بل قم بكتابة العباره ( مضروب
في ) غير ذلك قم بضرب المتغيرين مع بعضهمها البعض ,
اذن ارجع الى محرر الاكواد وقم بتعديل الكود الى
التالي:

وفي
النهايه سوف يكون ناتج عملك الرائع هو الجدول التالي ,

اتمنى ان
يكوني شرحي جعلك تفهم هذه النقاط جيدا , ولا تنسى انه
يجب ان تقوم بمحاولة عمل اشياء انت تريدها , ولا تحصر
التمارين على ما تراه هنا , لكي تقوم بالتوسع في
البرمجه :)