بسم الله الرحمن الرحيم
- متطلبات
قبل البدأ :
- مراجعة درس العبارات الشرطية
- مراجعة درس
عبارة التكرار WHILE
</li>
اهداف الدرس:
المسافات
في لغة PHP
العباره الشرطية SWITCH
عبارة التكرار FOR
عبارة التكرار DO...WHILE
عبارات داخل عبارات
مثال
تطبيقي
</li>
المسافات
في لغة PHP: كما قلنا في دروس سابقه ان لغة PHP لغه
مسامحه , حيث انه توفر لك العديد من المزايا , ولا اعلم بشكل صحيح 100% اذا
كانت المسافات تعتبر من الاشياء مسامحه ام لا , ولكن اليك ما اعرفه , في
لغة PHP المسافات لا تحسب , اعني بذلك انه عندما تقوم بكتابة الكود فلا
يميز المترجم انه هناك مسافات في الكود او لا , بغض النظر عن النصوص عندما
تضعها بين علامتي التنصيص " " سوف اقوم بكتابة كودين الان , ولاحظ الفرق
بينهما , الاول بمسافات والثاني بدون مسافات :
PHP كود :
<?php
$x = 1;
if ( $x == 1)
{
echo " لا يوجد تمييز فى المسافات " ;
}
?> وهنا نفس
الكود لكن بدون مسافات :
PHP كود :
<?php
$x = 1;
if ($x ==1)
{
echo " لا يوجد تمييز فى المسافات " ;
}
?> قم بتشغيل الكود الاول والثاني , وسوف تلاحظ ان جميع المثالين اخرجا
نفس الناتج بغض النضر عن المسافات
العباره الشرطية SWITCH : تعلمنا في الدرس قبل
السابق العباره الشرطيه IF وتوابعها والان سوف نتعلم العباره SWITCH وهي
تعمل بنفس طريقة العباره IF ولكن يتم كتابتها بطريقة اخرى ويتم تنفيذ شرط
واحد فقط اما في IF فيمكن كتابة عدة شروط , لنرى كيفية الكتابه , انظر
الصوره التاليه :
لنقم برؤية مثال على
الطبيعه لتعرف كيفية عمل هذه الداله :
PHP كود :
<?php
$x = 1;
switch ($x)
{
case 1;
echo "واحد";
break ;
case 2;
echo "اتنين";
break ;
case 3;
echo "ثلاثة";
break;
default:
echo "لايوجد";
}
?> ارأيت الطريقه ؟ بسيطه اليس كذلك ؟ ولاحظ اننا نعني بأنه يمكن في
العباره IF كتابة اكثر من شرط مثل if( $x == 1 && $y == 4 ) ولكن
في العباره SWITCH يمكننا فقط مقارنة متغير واحد فقط switch ( $ x ) ,
وايضا يمكن ان تقوم بألغاء اخر سطرين ( في الصوره سطر رقم 18 و 19 ) ولا
يتوجب كتابتها وهي تعني ( ELSE ) اي غير ذلك ( حينما لا يتحقق اي شرط من
الشروط ) , وايضا يجب ان تتذكر انه دائما يجب عليك كتابة العباره BREAK بعد
نهاية كل CASE في العبارة SWITCH ولا يتوجب وجودها في السطر الذي يحوي
DEFAULT
عبارة التكرار FOR : هناك عبارة تكرار اخرى غير العباره WHILE وهي العباره FOR , وتستخدم
دائما اكثر من العباره WHILE لان ديناميكيتها اكبر من WHILE ولكن ناتج عمل
الاثنين واحد , واذا عملت عباره بالاولى يمكن عملها بالثانيه والعكس , ولا
يوجد ناتج تقوم بعمله في الاولى ولا تستطيع ان تقوم به في الثانيه ,
والقرار في الاخير يرجع الى المبرمج , لنرى طريقة الكتابه وهي كالتالي :
مثال على العباره , لنقم بالعد من 1
الى خمسه , مثلما فعلنا مع العباره WHILE ونرى ماهي الاختلافات :
PHP كود :
<?php
for ($i=1; $i <= 5; $i++)
{
echo $i;
echo "<br>";
}
?> في هذه المره قمنا
بعملها فقط ب 5 اسطر , هل لاحظت الفروقات الان ؟ الفرق الاول في العباره
WHILE اننا نحدد المتغير في البدايه , وزيادة المتغير داخل العباره, اما في
العباره FOR فاننا نستطيع فعل ذلك كله بين القوسين التي يوجد بها الشروط ,
ونترك باقي العمل الى FOR , لا تنسى ان $i++ هي نفسها $i = $i + 1
عبارة التكرار DO...WHILE : تختلف عبارة التكرار هذه عن اختها WHILE انها تقوم بتنفيذ الامر اولا , ثم
بعد ذلك تقوم بمقارنة الشرط , وطريقة كتابتها كالتالي :
لنقم مره اخرى بكتابة الاعداد من 1 الى عشره ونرى
الاختلاف , اكتب في محرر الاكواد التالي:
PHP كود :
<?php
$x =1;
do
{
echo "وصلنا الى العدد".$x."<br>";
$x++;
}
while ($x <= 10);
?> هل لاحظت الاختلاف ؟
فقط انه قمنا بطباعة العدد قبل التحقق من الشرط , والتغيير طفيف ويستخدم
عند الحاجه , لا تقلق في التطبيقات المتقدمه سوف نشاهد بعض من هذه الحيل
البرمجيه, ملاحظه:
لا تقم ابدا بنسيان
الفاصله المنقوطه بعد كتابة الشرط , والا سوف يكون هناك خطأ برمجي في الكود
عبارات داخل عبارات : كما قلنا في دروس سابقه , يمكننا ادراج عبارات داخل عبارات , اي انه
يمكنك كتابة العباره FOR وداخلها العباره FOR , او العباره WHILE وداخلها
العباره FOR وداخلها IF كل ذلك سهل جدا , ويحتاج الى قليل من التركيز , سوف
نقوم الان بعمل مثال تطبيقي يحتوي على عبارة تكرار وداخلها عبارة تكرار ,
لنقم بعمل جدول الضرب ونحاول مع بعضنا البعض كتابة الكود , لنقم بتسهيل
الامر , قم بفتح برنامج Microsoft FrontPage في جهازك وقم بكتابة جدول
الضرب العدد 2 من ( 1 - 5 ) , انظر الشكل التالي:
وعند مشاهدة محتوى كود ال HTML سوف ترى التالي :
الان قم بالتركيز معي لكي توضح الصوره ,
لو نظرت الى الكود بالاعلى تجد انه HTML فقط وتجد انه مكرر كثيرا , وانت
تحتاج الى استخدام عبارات التكرار لتقم بتسهيل الموضوع على نفسك , اذن يجب
ان تكتشف اماكن التكرار , دقق في الكود وحاول ان تعرف اماكن التكرار
........... هل عرفت الاماكن ؟ انظر الى الكود التالي وسوف احدد لك اماكن
التكرار
انظر الى الخطوط السوداء , ترى ان
الوسم <tr> و الوسم </tr> يتكرران في كل مره ننشئ بها صف (
ROW ) جديد , اذن الان نحتاج الى دالة تكرار ونحتاج ان تقوم بالتكرار 5
مرات لاننا نريد جدول الضرب للعد 2 من ( 1 الى 5 ) ( قم بعد الخطوط السوداء
وسوف تجد انها 5 خطوط ) , لكي نقوم بتكرار الاصفف , افتح محرر الاكواد
واكتب التالي :
PHP كود :
<html dir="rtl">
<head>
<title>جدول ضرب</title>
</head>
<body>
<table dir="rtl" width="72" border="1">
<?php
for ($y = 1; $y <= 5; $y++)
{
print "<tr>";
print "</tr>";
}
?>
</table>
</body>
</html>
الان لقد عرفنا كيفية تكرار الاصفف , اذن لنظر الى صورة كود
HTML مره ثانيه , وقم بالبحث عن تكرار جديد , اذا لم يوجد , فقد انتهينا ,
وان وجد فنحتاج الى ان نقوم بكتابة دالة التكرار مره اخرى ,
................. هل عرفت مكان التكرار الاخر ؟ انظر الى الصوره لترى اين
هو
لاحظ هنا ان الوسم <td> و
</td> يتكرر في كل مره نكتب بها عدد جديد , والوسم <TD> هو
لكتابة الخلايا في الجدول , تكرر الوسم عندنا , وفي كل مره نقوم بكتابة
الخليه مرتان , اذن نحتاج ان نقوم بالتكرار مرتان ( لاننا نريد جدول الضرب
للعدد 2 ) , ارجع الى محرر الاكواد واكتب التالي ( بين وسم <tr>
و </tr> ) ,
PHP كود :
<html dir="rtl">
<head>
<title>جدول ضرب</title>
</head>
<body>
<table dir="rtl" width="72" border="1">
<?php
for ($y = 1; $y <= 5; $y++)
{
print "<tr>";
for ($x = 1; $x <= 2; $x++)
{
echo "<td align ="center"><font face ="Tahoma" size ="2">";
echo ($y*$x);
echo "</font></td>";
}
print "</tr>";
}
?>
</table>
</body>
</html>
ما قمنا به هنا , اننا قمنا بتكرار الوسوم <td> على حسب العدد
الذي نريد انشاء عملية الضرب له , لاحظ ان المتغير x شرطه ان يكون اقل من
او يساوي العدد 2 لكي يستمر في التكرار , ولاحظ هنا اننا نقوم بعملية ضرب
المتغير x والمتغير y في مكان كتابة محتوى الصف , لكي نقوم بكل شي تلقائيا ,
قم بتشغيل الكود وسوف يكون الناتج التالي :
ارأيت الان قمنا بكتابة جدول الضرب للعدد 2 بمجرد
عبارتين تكرار صغيره
ممتع جدا اليس كذلك ؟ لكن لم ننتهي بعد , لو نظرت الى كود ال HTML ترى
اننا نريد كتابة العباره التاليه في الجدول ( مضروب في ) , لكي نقوم
بإخراج الجدول بشكل افضل , انظر الى الصوره وستعرف ما اعنيه
كيف نقوم بذلك في دالتين التكرار , قم بوضع يدك على
رأسك واستغرق في التفكير لمدة دقيقتان وانت تنظر الى الكود , واسأل نفسك ,
كيف سأقوم بعملها , وسوف يأتيك الجواب كالتالي , نقوم بكتابة العباره (
مضروب في ) في اول وسم <td> وفي اول وسم <tr> , يعني عندما
يكون المتغير x يساوي 1 وعندما يكون المتغير y يساوي 1 , قمنا بحل المشكله
وما نحتاجه هو عبارة IF الشرطية ويكون شرطها انه عندما يكون المتغير x
يساوي 1 و المتغير y يساوي واحد , لا تقم بضرب المتغيرين بل قم بكتابة
العباره ( مضروب في ) غير ذلك قم بضرب المتغيرين مع بعضهمها البعض , اذن
ارجع الى محرر الاكواد وقم بتعديل الكود الى التالي:
PHP كود :
<html dir="rtl">
<head>
<title>جدول ضرب</title>
</head>
<body>
<table dir="rtl" width="72" border="1">
<?php
for ($y = 1; $y <= 5; $y++)
{
print "<tr>";
for ($x = 1; $x <= 2; $x++)
{
if ($x ==1 && $y==1)
{
echo "<td align ="center"><font face ="Tahoma" size ="2">";
echo "مضروب فى";
echo "</font></td>";
}
else
{
echo "<td align ="center"><font face ="Tahoma" size ="2">";
echo ($y*$x);
echo "</font></td>";
}
}
print "</tr>";
}
?>
</table>
</body>
</html>
وفي النهايه سوف يكون ناتج عملك الرائع هو الجدول التالي ,
اتمنى ان يكوني شرحي جعلك تفهم هذه النقاط جيدا , ولا
تنسى انه يجب ان تقوم بمحاولة عمل اشياء انت تريدها , ولا تحصر التمارين
على ما تراه هنا , لكي تقوم بالتوسع في البرمجه
- اسئـــلة على الدرس :
- قم بتعديل جدول
الضرب في الاعلى , واجعله للعدد 2 و 3 و 4 و 5 و 6 و 7 و 8 و 9 و 10 ,
واجلعه يقوم بالضرب من العدد ( 1 - 10 ) مثل جدول المدارس مساعده : الحل يكمن في الشروط
</li>
<li>الـــدرس الــقادم :
سوف نقوم في الدرس القادم بمعرفة معلومات عن
بعض الدوال المفيده , ومعلومات عن الوسوم , وكتابة PHP مع HTML لكي تستعد
الى الدخول الى عالم النماذج
</li>
للأمانة منقول من شبكة
ارسن
نت