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);
}
أولاً المقصود في حلقات التكرار هو تكرار مجموعة أوامر انت تحددها إذا تحقق شرط معين و إن لم يتحقق ستتوقف الحلقه
كأنك تقول مثلاً اذا كان المتغير س أكبر من ص فقم بتكرار هذه الاوامر (اي اوامر)
فسيقوم محرك البي اتش بي بتكرار الاوامر و من ثم الرجوع للشرط و تجريبه فإذا تحقق سيعيد نفس الاوامر اياً كانت
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);
}