السلام عليكم و رحمة الله و بركاته
كيف حال اخواننا/اخواتنا المبرمجين
اليوم درسنا مو سهل و لكن مو صعب يسمونه (السهل الممتنع) و ايضا انا عن نفس
اظن ان 90% من اي برنامج يبرمج يتم استخدام هذه العبارات التكرارية حتى
هذا المنتدى مبني عليها بناء كامل
نقاط يرتكز عليه الدرس :
1- العباراة الشرطية Switch
2- عبارات التكرار for
3 - عبارات التكرار While
4- عبارات التكرار Do...While
بداية الدرس :
هل فعلا هناك عبارة شرطية عير IF تسمى Swich ؟
هذا صحيح و لكن تختلف عن IF لأن IF ممكن ان تضمن اكثر من شرط و يتم تنفيذ
كل الشروط اما Switch تأخر اكثر من شرط و لكن اول شرط صحيح هو الي يطبق و
الباقي يتم تجاهله
مثال بين كود استخدمت فيه IF مرة و استخدم فيه Switch مرة و العبارتين لهما
نفس المعنى
ملاحظة مهمه جدا : Switch اسرع في تنفيذ الكود إذا كان عندنا اكثر من IF
يعني بدل كتابة اكثر من IF استخدم Switch لتحقيق الأمثلية في السرعة و
الكود (ركز على نقطه في حال وجود اكثر من IF و ايضا إذا كنا نريد تنفيذ شرط
واحد نستخدم Switch غير ذلك استخدم IF فــ IF تقوم بأشياء لا تقوم بها
Switch
كود PHP:
<?php
// هنا راح اثبت متغيير راح اسميه متغيير العمر
$age = 40;
// هنا سأطع مثال عن طريق استخدام
//IF
if ($age == 40) {
echo "عمرك هو اربعين";
} elseif ($age == 30) {
echo "عمرك هو ثلاثين ";
} elseif ($age == 10) {
echo "يا حليلك 10 سنوات العمر كله ان شاء الله";
}
// تعالوا نطبق هالكود نفسه و لكن عن طريق
// Switch
/*
لاحظ ان وجود الكلمة
break
و هي تعني توقف الشرط إذا تطبق إذا لم لتطبق اكمل الشروط
*/
switch ($age)
{
case 40:
echo "عمرك هو اربعين";
break;
case 30:
echo "عمرك هو ثلاثين ";
break;
case 10:
echo "يا حليلك 10 سنوات العمر كله ان شاء الله";
break;
default:
echo "العمر غير معروف";
}
/* السطر التالي و هو القيمة
Default
و هي لها نفس معنى
else
بمعنى آخر حينما لا يتحقق ايا من الشروط الي وضعتها مثل وضع العمر 11
*/
#### ملاحظات ####
/*
ىظحظ انه بعد كل
Case
يتوجب وجود
break;
ايضا لاحظ انه لا يتوجب ان تكتبها في
Default
*/
?> بهذا نكون اوفينا switch حقها
ننتقل الآن الى عبارات التكرار
و هناك ثلاثة انواع منها
نبدأ بالنوع الأول
العبارة التكرارية FOR
الشكل المبدأي لها هو
كود PHP:
for (initialization; condition; increment)
{
code to be executed;
}
كيف افهم هذه العبارة الجميلة ؟
الأمر بسيط فكر فيها بالشكل الثاني
لنفرض اني اردت ان اطبع ارقام من واحد الى 15 عن طريق البي اتش بي من
المتعب كتابتها عن طريق echo بالشكل التقليدي تخييل لو كانت حتى مئه راح
تتعب كثير عدا عن انك ممكن تخطأ في كتابة الأرقام
ممكن نأمر البي اتش بي هالأمر
الأمر : طالما المتغيير اقل من 15 اطبع المتغيير (عارف انك ما فهمت شيء
الحين راح تفهم من الكود)
لاحظ الكود :
ملاحظو مهمه جدا : قبل ان تسأل نفسك اي شيء عن الكود انسخه و حطه في ملف
عندك في السيرفر و شوف النتيجه راح تفهم كل شي دائما جرب الكود قبل الشروع
بالسؤال
كود PHP:
<?php
#### ركزوا معي دقيقه العملية شوي معقده في الفهم ####
/*
عيينا المتغيير
$i = 1
ليبدأ العد من رقم 1 ممكن تخليه يبدأ من اي رقم انت تحدده
-------------------------------------------
من ثم عيينا انا الشرط يستمر دام المتغيير اقل او يساوي 15
يعني يعد من واحد الى 15 بالمختصر
-------------------------------------------
$i++
تعني زيادة القيمة لـ
$i
واحد في كل كرة يقوم بها
و اضا هناك
$i--
ينقص المتغيير واحد كل مرة (تذكروا درسنا في المعاملات الحسابية)
$$$$$$ للتوضيح اكثر $$$$$$
##############
في اول تكرار سيطبع القيمة 1 و يزيد المتغيير واحد (ستصبح قيمة المتغيير 2 و ليس 1)
في التكرار الثاني سيطبع 2 و يزيد المتغيير واحد لتصبح قيمته 3
و هكذا حتى يصل الى 15 و يتوقف لأن الشرط لم يعد يتحقق [ انتهت صلاحيته ]
--------------------------------------------
ثم كتبنا الرقم ماذا نريد ان يطبع
ممكن تخليه يطبع اسمك 15 مرة بدل ارقام يعني الكرة في ملعبك
*/
for ($i=1; $i<=15; $i++)
{
echo "الرقم الآن هو $i";
echo "<br>";
}
?> هل رأيت نتيجه الكود
بالطبع ليس هذا هو الاستخدام الوحيد لهذه الدالة فإستخداماتها ممكن تكون
معقده جدا تعطي نتائج باهرة
مثال على استخدام هذا المتغيير
عمل جدول من اسماء الأشهر عن إذا كان المتغيير و سنعرف الطريقه بشكل مبسط
عندما نتعرف على الــ Arrays يمكنك ان تقرأ عنها في المانيوال إذا احببت ان
تستبق الأحداث
هذا مثال شوي معقد لهذه الداله و استخدمنا html فيها لنعرض جدول
كود PHP:
<?
// سوف اقوم بتعيين سعر للأيس كريم مثلا
$ice_cream = 5;
// نضع كود بداية الجدول خارج الحلقة لأننا
// نريد عمل جدول واحد و خلايا متعدده و ليس عدة جداول
echo '<table border="1" align="center">';
//هنا وضعت خليتين كرأس الجدول واحد تحدد الكمية و الثانية تحدد السعر
/*
طبعا هذا
html
و كما قلت لازم تعرف
html
عشان تكمل معانا الدورة
*/
echo "<tr><th>العدد</th>";
echo "<th>السعر</th></tr>";
// هنا بدأ البي اتشي بي و عبارة التكرار
for ( $counter = 10; $counter <= 100; $counter += 10)
{
// السطر التالي هو عمل خلية جديدة لأننا نريدعدة خلايا جعلناها داخل التكرار
echo "<tr><td>";
// هنا اطبع القيمة
echo $counter;
// السطر التالي هو إقفال الخلية الأولى و فتح خلية جديدة
echo "</td><td>";
// هنا اطبع القيمة الثانية
#### لاحظ اني قمت بعملية حسابية و هو ضرب الكمية بالسعر ####
echo $ice_cream * $counter;
// اقفلت الخلية
echo "</td></tr>";
}
// اقفال الجدول خارج التكرار لأن البداية ايضا بالخارج
echo "</table>";
/*
ملاحظة البعض سيسأل عن
+=10
التي استخدمتها
و هو تعني كل مرة يزيد القيمة عشرة
يعني القيمة بتكون
10, 20 , 30
الخ
*/
?> انظر المرفق لترى النتيجه او و هو ما افضله تطبق الكود عندي على
السيرفر و شوف النتيجه حية
انتهينا من for
ما هو النوع الثاني من العبارات التكرارية ؟
هو While
هذه هي الدالة الثانية الشهيره في التكرار الم تستغرب كيف المنتدى عند كل
رد جديد يعرض جدول جديد فيه الرد و الجداول تكون على عدد الردود !!!!
هذه هي فائدة العبارات التكرارية
لن اتعمق في while لا اعني انها غير مهمه بل هي من اهم الدوال و لكن لن اضع
كود معقد عنها عشان لا اضيعكم معي يكفي كود واحد معقد
الكود المبدئي لهذه الميزة
كود PHP:
while (condition)code to be executed;
هذا مثال بسيط
كود PHP:
<?
// اعيين قيمة لأي متغيير
// لازم يكون التعيين خارج العبارة الشرطية
$i=1;
// هنا العباردة الشرطية
// الشرط ينفذ دام ان المتغيير اقل او يساوي 5
while($i<=5)
{
echo "الرقم هو " . $i . "<br />";
// هنا اعيين ان في كل تكرار يزيد المتغيير 1
// لاحظ انها داخل التكرار
$i++;
}
?>
و هذا مثال على do .... while و هي
تشبه جدا while و لكن طريقة الكتابة تختلف
كود PHP:
<?
// اعيين قيمة لأي متغيير
// لازم يكون التعيين خارج العبارة الشرطية
$i=0;
// هنا العباردة الشرطية
do
{
// هنا اعيين ان في كل تكرار يزيد المتغيير 1
// لاحظ انها داخل التكرار
$i++;
echo "الرقم هو" . $i . "<br />";
}
while ($i<5);
// الشرط ينفذ دام ان المتغيير اقل او يساوي 5
?> ملاحظات مهمه جدا : لتحقيق افضل داينميكية في السكريب تبرمجه تقدر
تستخدام while داخل حقلة for و for داخل حلقة while و ايضا تستطيع استخدام
IF داخلها
بهذا ننهي درسنا اليوم
لو ما عرفت وين تستخدم هذه العبارات لا تخاف جايين لكل شي لا تستبق الأحداث
الآن فقد افهم كيفية الاستخدام
الواجب :
قم بعمل جدول ضرب لل 5
فقط قم بها من 1 الى 5
يعني
1×5
2×5
3×5
4×5
5×5
بالتوفيق جميعا