Warning: Function get_magic_quotes_gpc() is deprecated in /home/forumbs/public_html/includes/class_core.php on line 1960
دوال حلقات التكرار [الأرشيف] - منتديات بانى ستار

المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : دوال حلقات التكرار



walid_8281500
03-23-2009, 04:09 AM
بسم الله الرحمن الرحيم

أولاً المقصود في حلقات التكرار هو تكرار مجموعة أوامر انت تحددها إذا تحقق شرط معين و إن لم يتحقق ستتوقف الحلقه

كأنك تقول مثلاً اذا كان المتغير س أكبر من ص فقم بتكرار هذه الاوامر (اي اوامر)
فسيقوم محرك البي اتش بي بتكرار الاوامر و من ثم الرجوع للشرط و تجريبه فإذا تحقق سيعيد نفس الاوامر اياً كانت


while (http://php.net/while)
و تعني بالعربيه حينما

بنية الداله



while(الشرط و الذي سيتم اختباره في كل مره قبل الدخول للحلقة)
{
محتويات الحلقه و التي ستكرر في كل مره
}


و من مميزات هذه الداله و كل دوال التكرار هي ان الاوامر التي بداخلها + الشروط تكون تراقميه بمعنى مثلاً لو قلت للإسكربت في داخل الحلقه قم بإضافة رقم 1 علي المتغير i في الحلقه القادمه سيكون i يساوي 1 و هكذا مثال



while($i!=5 )
{
$i += 1 ;
echo $i;
}


ستكون النتيجه



12345

هل تتذكر معي اننا قلنا في اول الموضوع ان الجزء الخاص بالشرط يتم تكرره ايضاً للتحقق من توفر الشرط و الدخول في الحلقه
طيب ما رأيك في عمل عملية اضافة رقم 1 الي المتغير i داخل الشرط و ليس الحلقه




while($i!=5 && $i += 1)
{
echo $i;
}


for (http://php.net/for)

تقوم بنفس عمل الداله while و لكن تختلف بنيتها عنها فيف الداله while لك مطلق إضافة الشروط دون تقييد

و لكن مع الداله for و التي بنيتها



for(شرط1 ; شرط2 ;شرط3)
{
حلقة التكرار
}

يجب توفر هذه الشروط حتى يمكن الدخول الي حلقة التكرار

امثله




$i=3;
for ($i==3; $i!=10;) {
echo $i; $i++;
}


$i=3;
for ($i!=5; ;) {
echo $i; $i++;
}


$i=3;
for (; $i!=5;$i++) {
echo $i;
}


for ($i=3; $i!=5;$i++) {
echo $i;
}


do-while (http://www.php.net/manual/en/control-structures.do.while.php)

تقوم بنفس عمل الداله while و لكن بشكل عكسي في طريقة التكوين



do {
حلقة التكرار و سيتم تنفيذها اولاً
} while (الشرط);

سيتم تنفيذ ما بداخل الحلقه أولاً ثم الرجوع للشرط فإن تحقق سيتم العوده مره اخرى الي الحلقه و هكذا

مثال



$i = 1;
do {
echo $i;
++$i;
} while ($i < 15);


$i = 1
do {
echo $i;

} while ($i < 15 && ++$i);


foreach (http://php.net/foreach)

و تعني بالعربيه لـ الكل

و ظيفتها التنقل داخل محتويات كائن أو مصفوفه ثم عرضهم من خلال تكون حلقه تكرار و لكن تحتاج مع هذه الداله لوضع شرط لتحقق صلاحية الدخول لحلقة التكرار

تكوين الداله



foreach (المصفوفه as اسم المتغير)
{
الحلقه

}


و اسم المتغير الذي ستضعه بعد as سيحتوي علي قيمة عناصر المصفوفه او الكائن مثال




$array = array('hazem','ali','mohamed');
foreach($array as $var)
{
echo $var;
}


و كذلك تمكنك هذه الداله الرائعه من معرفة اسم مفتاح الحقل مش بس القيمه

و هذا من خلال تعديل بسيط علي الكوين



foreach (المصفوفه as اسم المتغير الذي سيحمل مفتاح العنصر => اسم المتغير الذي سيحمل قيمة العنصر)
{
الحلقه

}

مثال



$array = array('name'=>'hazem','lastname'=>'ali');
foreach($array as $key=>$var)
{
echo $key."=".$var;
}


الامر break (http://php.net/break)

يقوم بعمل خروج من الحلقه و مواصلة البرنامج بشكل عادي

مثال



$array = array("hazemali","hazem","mezo","aboali");
$i = 0;
while($i > count($array)&&++$i)
{
if($array[$i-1]=='aboali')
{
break;
}
echo $array[$i-1];
}


الامر continue (http://php.net/continue)

يقوم بإعادة الحلقه مع تجاهل التكرار الحالي



$array = array("hazemali","hazem","mezo","aboali");
$i = 0;
while($i > count($array)&&++$i)
{
if($array[$i-1]=='mezo')
{
continue;
}
echo $array[$i-1];
}


مثال متقدم



$array = array(1,2,3,4,5,6,7,8,9,10);

while(current($array))
{
echo current($array);
next($array);
}