قبل أن نبدأ درسنا عن المصفوفات نريد المرور على حلقات التكرار وانواعها وكيفية عملها:
وحلقات التكرار هي شيء يتكرر ما دام ان هناك شرطاً متحققا نبدأ بحلقة التكرار
حلقات التكرار for
يتم تنفيذ ما بداخل الحلقة عدداً معيناً من المرات ولها الصياغة التالية:
for(بداية ; شرط; عداد )
مثال
for($val=0;$val<10;$val++)
{
الشي المراد تكراره
}
هذه الحلقة نلاحظ اننا وضعنا فيها المتغير $val داخل قوسين قيمته الإبتدائية صفر ويزداد بمقدار واحد $val++ وينتهي عندما يكون يساوي 10 حيث انه لن يتحقق الشرط وستتوقف الحلقة عن العمل
لنجرب مثالا على ذلك
<?
for($i=0;$i<10;$i++)
{
echo " ArabTeam2000";
}
?>
سيكون ناتج هذه الحلقة كالتالي :
ArabTeam2000 ArabTeam2000 ArabTeam2000 ArabTeam2000 ArabTeam2000 ArabTeam2000 ArabTeam2000 ArabTeam2000 ArabTeam2000 ArabTeam2000
تم طباعتها عشر مرات ستقول لي كيف تم ذلك وهي تتوقف عندما تكون قيمتها اقل من عشرة اي ستصل إلى تسعة فقط اقول لك
انه بدأت من الصفر ولم تبدأ من الواحد فنتج لدينا (0,1,2,3,4,5,6,7,8,9)فإذا حسبنا عددها ستكون عشرة .
لنأخذ مثالا آخر لهذه الحلقة
<?
for($j=10;$j>2;$j--)
{
echo $j;
}
?>
هذه حلقة تناقصية تبدأ من 10 وتنقص كل مرة بواحد حتى تصل لشرط نهايتها وهو أن قيمة المتغير أكبر من 2 و بذلك تنتهي الحلقة
ملاحظة مهمة :
انتبة لا تضع الفاصلة المنقوطة بعد جملة for فمثلا
<?
for($i=0;$i<10;$i++);
{
echo $i;
}
?>
لن تنفذ عملية التكرار وطباعة الأعداد بل سيتم طباعة الرقم 10 فقط لأنه سيعتبر الحلقة سطر تنفيذي جرب ذلك!!
جملة التكرار while :
تعبيرها هو : مادام الشرط متحققا قم بعملية التكرار ولها الصياغة التالية :
while( شرط )
{
الجملة أو الشيء المراد تكراره
}
ولنأخذ مثالا على ذلك :
<?
$i=10;
while($i>1)
{
echo"Arabteam2000";
$i--
}
?>
هنا سيختبر الشرط هل المتغير i اكبر من الواحد اذا كان نعم " تحقق الشرط " نفذ ما بداخل الأقواس ثم يخرج ثانية ويختبر الشرط وهكذا إلى أن يكون الشرط غير متحقق فيخرج من الحلقة
لعلي اكون انتهيت ووفيت الحلقات حقها ون كان هناك لبس أو غموض فبينوه لي لأقوم بتوضيحه أما الآن فننتقل للجزء الثاني
المصفوفات Arrays:
المصفوفة عبارة عن متغير واحد يحمل عدة قيم بداخلة ولكل قيمة فيها له مفتاح وتبدأ من المفتاح رقم 0 وهكذا بحسب عناصر المصفوقة
و أنواع المصفوفات هي: مصفوفة أرقام صحيحة، أو مصفوفة حروف ، أو مصفوفة نصوص ، ويحدد ذلك ما قد خزن في أي متغير من المصفوفة.
سنقوم بتخزين ثلاثة أرقام في مصفوفة المثال التالي لكي نتمكن من فهمها:
<? $a[0]=10; $a[1]=5; $a[2]=8; echo $a[0].' '.$a[1].' '.$a[2]; ?> 10 5 8 سيتم طباعة التالي :
من المثال اتضح لنا التالي :
• في السطر الثاني قمنا بتحديد نوع المتغير على أنه مصفوفة أرقام عددية ، وذلك تخزين الرقم 10 في أول خانة من المصفوفة والتي يرجع إليها عن طريق المفتاح صفر , فهذا الرقم دائما ما يدل على أول خانة من المصفوفة.
• قمنا بعد ذلك بتخزين الرقم 5 في الخانة التي تليها ذات المفتاح واحد والرقم 8 في الخانة الثالثة والتي يرجع اليها عن طريق المفتاح رقم 2.
• عن طريق الدالة echo قمنا بعرض ما بداخل المصفوفة.
• والشكل التالي يبين شكل المصفوفة
المتغير $a[0] $a[1] $a[2] المفتاح 0 1 2 القيمة 10 5 8
نستنتج من ذلك كلة ان المصفوفات مفيدة جدا في حمل عدة قيم والإحتفاظ بها ونجد أن الحلقات عملها سيكون كثيرا مع المصفوفات حيث أن المصفوفة يمكن تعبئتها أو استخراج مافيها من خلال الحلقات
لنرجع لمثالثنا السابق ونطبع ما بداخلة من خلال الحلقات وننظر الفرق في سرعة العمل !
<?
$a[0]=10;
$a[1]=5;
$a[2]=8;
for($i=0;$i<3;$i++)
{
echo $a[$i];
echo "
";
}
?>
سنجد أن الناتج سيكون :
10
5
8
وهكذا نجد التلاحم الكبير بين الحلقات والمصفوفات
هذا ما استطعت كتابته على عجالة ولعلي أكون افدت واعتذر اليكم عن اسلوبي السيء في الطرح
والله الموفق لكل خير و أي اسئلة أنا مستعد
وتقبلوا تحيات أخوكم إبراهيم
ملاحظة :
جميع الدروس تعتبر حقوقا خاصة لا يسمح نقلها إلا بإذن منا أو بالإشارة الى موضوعنا أي انه منقول من عندنا