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

Ali Majrashiمنذ 8 سنوات

احيانا عند البرمجة نرغب بتنفيذ عدة أوامر برمجية بشكل متكرر فبدلا من تكرار كتابة هذه الأوامر اكثر من مرة نستطيع استخدام 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

عبارة 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

ملاحظة: عند استخدام 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

عبارة 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

عبارة 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

كما نعلم ان المصفوفات تخزن البيانات على شكل مفتاح و قيمة key-value ولدينا عدة انواع للمصفوفات ممكن معرفة المزيد عنهم من درس انواع البيانات

https://3alam.pro/index.php/series/php/php-basics/php-data-types/

ونسطيع باستخدام عبارة foreach ان نقوم بتعيين مفتاح العنصر المخزن في المصفوفه لمتغير ثم تعيين القيمة لمتغير آخر لتنفيذ الاوامر البرمجية داخل العبارة

مثال:


<?php

$var = array('ali', 'mansour', 'abdullah', 'moath', 'mohammed');

foreach ($var as $key => $value) {
	echo "$key: $value <br>";
}

ناتج عمل الكود

6.png

مفيدة جدا عند التعامل مع بقية انواع المصفوفات مثلا عند التعامل Associative arrays نسطيع تعيين index لمتغير وقيمته لمتغير آخر والإستفادة منهم عند تنفيذ الأوامر داخل العبارة

مثال:


<?php

$myInof = array('name' => 'ali', 'age' => 29, 'from' => 'KSA');

foreach ($myInof as $key => $value) {
	echo "$key: $value <br>";
}

ناتج عمل الكود

7.png

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !