Php التكرار في بي اتش بي PHP Loops

الادارة كريم

مشرف سابق
مجموعة الاعضاء

احيانا عند البرمجة نرغب بتنفيذ عدة أوامر برمجية بشكل متكرر فبدلا من تكرار كتابة هذه الأوامر اكثر من مرة نستطيع استخدام Loops او مايسمى بعبارات التكرار في PHP لتنفيذ هذه المهمة ولدينا في PHP عدة عبارات للتكرار PHP Loops يمكن تلخيصها بالتالي:

  • while يتم تكرار مجموعة الأوامر البرمجية داخل هذه العبارة دام ناتج الشرط true
  • do...while يتم تنفيذ مجموعة الأوامر داخل هذه العبارة لمرة واحدة، ثم بعدها يتم تكرار الأوامر دام ناتج الشرط true
  • for يتم تكرار مجموعة الأوامر داخل هذه العبارة لعدد محدد من المرات
  • foreach خاصة بالمصفوفات arrays حيث يتم تكرار مجموعة الأوامر البرمجية لكل عنصر في المصفوفة
عبارة while
بواسطة استخدام عبارة while نستطيع تنفيذ عدة اوامر برمجية واعادة تنفيذها عدة مرات دام ناتج الشرط true
Syntax
while (condition) { # code... } مثال:
في هذا المثال قمنا بانشاء متغير باسم var وعينا القيمة 1 له ثم داخل عبارة while قمنا بوضع الشرط انه يجب ان يكون قيمة المتغير var اقل او تساوي 5 حيث انه سوف يتم تكرار تنفيذ الاوامر داخل عبارة while دام ناتج الشرط true وداخل عبارة while نقوم بزيادة قيمة المتغير var بواحد عند كل تنفيذ باستخدام معامل ++ بحيث لو تم تنفيذ while للمرة الخامسة سوف يتم زيادة قيمة المتغير بواحد لتصبح قيمة المتغير var تساوي 6 فعند التحقق من الشرط سيكون الناتج false ولن يتم تنفيذ محتوى عبارة while
<?php $var = 1; while($var <= 5) { echo "The number is: $var <br>"; $var++; } ناتج عمل الكود
1.png.f3931e3c36c319e5defd05caf95d60c4.png
عبارة do...while
عند استخدام عبارة do...while فانه سوف يتم تنفيذ محتواها مباشرة لاول مرة ثم بعدها يتم التحقق من الشرط فان كان ناتج الشرط true سوف يتم تكرار تنفيذ الاوامر ولكن اذا كان ناتج الشرط false لن يتم تنفيذ اي اوامر برمجية داخل do...while
Syntax
do { # code... } while (condition); مثال:
هذا المثال سيكون سبيه بالسابق حيث قمنا بانشاء متغير باسم var ثم عينا له القيمة 1 بعدها استخدمنا عبارة do...while لطباعة نص للمتصفح وبعدها قمنا بزيادة قيمة المتغير var بواحد باستخدام عامل ++ ثم نتحقق من الشرط بحيث يجب ان تكون قيمة المتغير اقل من او تساوي 5 ليتم تنفيذ محتوى do...while مرة أخرى
<?php $var = 1; do { echo "The number is: $var <br>"; $var++; } while ($var <= 5); ناتج عمل الكود
2.png.a1a8979fd2d5fbb12e75788f688ff728.png
ملاحظة: عند استخدام do...while فانه يتم التحقق من الشرط بعد تنفيذ محتواها اي انه سوف يتم تنفيذ الأوامر البرمجية داخل العبارة على الأقل لو مرة واحد حتى وان كان ناتج الشرط false
مثال:
نفس المثال السابق ولكن غيرنا قيمة المتغير الى 6 فعند التحقق من الشرط سيكون الناتج false ولكن لاحظ انه سوف يتم تنفيذ محتوى do...while لاول مره ثم عند التحقق من الشرط سوف تتوقف do...while من تكرار تنفيذ الاوامر لان ناتج الشرط false
<?php $var = 6; do { echo "The number is: $var <br>"; $var++; } while ($var <= 5); ناتج عمل الكود
3.png.cfeb02b2004b864a5615479acf569374.png
عبارة for
باستخدام عبارة for نستطيع تنفيذ مجموعة اوامر برمجية لعدد من المرات ونقوم بتحديد عدد مرات التكرار
Syntax
for (counter; check counter; increment counter) { # code... } المدخلات parameters:

  • counter: اول مدخل متغير له قيمة عددية وهو عبارة عن بداية عملية التكرار
  • check counter: ثاني مدخل وهو شرط يتم التحقق من عند كل عملية تكرار اذا كان ناتج الشرط true يتم تنفيذ محتوى العبارة و ان كان الناتج false لن يتم تنفيذ محتوى العبارة
  • increment counter: ثالث مدخل نقوم بزيادة قيمة اول مدخل counter
مثال:
<?php for ($i=1; $i <= 5; $i++) { echo "The number is: $i <br>"; } ناتج عمل الكود
4.png.dcacd86d2de7b73694847c798b14f8c1.png
عبارة foreach
عبارة foreach تعمل فقط مع المصفوفات arrays حيث انها ستقوم بتكرار الأومر البرمجية بعدد مفاتيح/قيم المصفوفه
Syntax
foreach ($array as $value) { # code... } لو كان لدينا مصفوفه تحتوي على 5 عناصر فانه عند استخدام عبارة foreach سيتم تكرار الاوامر البرمجية داخل عبار foreach خمس مرات وبكل مره سوف يتم تعيين العنصر من المصفوفه كقيمة للمتغير value بالترتيب حيث ستبدا العبارة باول عنصر بالمصفوفة وصولا الى آخر عنصر ثم تتوقف عن العمل
مثال:
<?php $var = array('ali', 'mansour', 'abdullah', 'moath', 'mohammed'); foreach ($var as $value) { echo "$value <br>"; } ناتج عمل الكود
5.png.7a5040d0822e56898556a7f10dcc224a.png
كما نعلم ان المصفوفات تخزن البيانات على شكل مفتاح و قيمة key-value ولدينا عدة انواع للمصفوفات ممكن معرفة المزيد عنهم من درس انواع البيانات

اضغط هنا
ونسطيع باستخدام عبارة foreach ان نقوم بتعيين مفتاح العنصر المخزن في المصفوفه لمتغير ثم تعيين القيمة لمتغير آخر لتنفيذ الاوامر البرمجية داخل العبارة
مثال:
<?php $var = array('ali', 'mansour', 'abdullah', 'moath', 'mohammed'); foreach ($var as $key => $value) { echo "$key: $value <br>"; } ناتج عمل الكود
6.png.92ec45655fe0daeaa93a49eeb2b3249a.png
مفيدة جدا عند التعامل مع بقية انواع المصفوفات مثلا عند التعامل Associative arrays نسطيع تعيين index لمتغير وقيمته لمتغير آخر والإستفادة منهم عند تنفيذ الأوامر داخل العبارة
مثال:
<?php $myInof = array('name' => 'ali', 'age' => 29, 'from' => 'KSA'); foreach ($myInof as $key => $value) { echo "$key: $value <br>"; } ناتج عمل الكود
7.png.f337e7959008df322b3b6ed59a74d49a.png
 

أعلى