جملة for هي من الأدوات القوية لـ ( PHP ) في عمل التكرار ( looping ) حيث يتم تعريف المتغير واختبار الشرط وعمل التعديل في سطر واحد ويتم الفصل بينهم باستخدام الفاصلة المنقوطة semi-colon ( ; ).
ويمكن تلخيص تسلسل العمليات داخل حلقة ( PHP FOR ) هكذا :
إضافة متغير عداد ذو قيمة ابتدائية اختبار تحقق شرط معين تنفيذ الكود زيادة قيمة العداد بعد انتهاء كل عملية تكرار صيغة جملة For <?php for ( initialize a counter; conditional statement; increment a counter){ //do this code; } ?>مثال 1 :
<?php for ($count = 1 ; $count <= 12 ; ++$count) echo "$count times 12 is " . $count * 12 . "<br/>"; ?>في الكود السابق يتم طباعة جدول الضرب للعدد 12 باستخدم جملة ( PHP FOR ) بالتسلسل التالي
1- تعريف المتغير count$ وتخصيص القيمة (1) له
2- إجراء عملية التحقق من أن count$ أقل من 12
3- سيتم إجراء عملية الضرب إذا تحقق الشرط
4- إجراء التعديل علي المتغير بزيادة (1) عن طريق استخدام معامل الزيادة ( PHP OPERATOR ) (++)
أيضاً يمكنك تعريف أكثر من متغير أو إجراء أكثر من عملية تعديل بهذا الشكل
مثال 2 :
<?php for ($i = 1, $j = 1 ; $i + $j < 10 ; $i++ , $j++) { // ... } ?>ولكن يجب عليك الإنتباه إلي استخدام كل من الفاصلة comma ( , ) والفاصلة المنقوطة semi-colon ( ; ). لاحظ استخدام الفاصلة بين الجمل Statements (مثل جملة تعريف المتغير j$ و i$) , ولكن تستخدم الفاصلة المنقوطة بين وسائط Parameters جملة for نفسها.
قواعد كتابة جملة forأ- تعريف المتغير هو وسيط , لكن عند تعريف أكثر من متغير يتم الفصل بينهما بفاصلة
ب- اختبار تحقق الشرط هو وسيط, لكن عمليتي اختبار هي جمل يتم الفصل بينهما بفاصلة
جـ- التعديل علي المتغير هو وسيط, لكن عمليتي تعديل هي جمل يتم الفصل بينهما بفاصلة
إنهاء جملة forأحياناً قد تحتاج لإنهاء تنفيذ الكود لسبب معين وليكن ظهور خطأ محتمل. ويمكنك عمل ذلك تماماً مثل جملة ( PHP SWITCH STATEMENT ) باستخدام الأمر ( PHP BREAK ). ولتوضيح متي تحتاج لمثل هذه العملية سوف استخدم بعض دوال ( PHP ) المسؤلة عن التعامل مع الملفات.
لنفترض أنك تريد برنامجك أن يقوم بفتح ملف ثم التعديل علي محتوياته, فعليك استخدام دالة ( PHP FOPEN ) وهي اختصار file open. وللكتابة علي الملف عليك استخدام دالة ( PHP FWRITE ) وهي اختصار file write . أنظر الكود التالي
مثال 3 : <?php $fp = fopen("text.txt", 'wb'); for ($j = 0 ; $j < 100 ; ++$j) { $written = fwrite($fp, "data"); } ?>الكود السابق سيقوم بكتابة كلمة data دخل الملف text.txt , ولكن يمكن أثناء عملية الكتابة يظهر خطأ نتيجة أنه لاتوجد مساحة كافية علي القرص, لذلك يمكننا إنهاء جملة for لتجاوز هذا الخطأ ثم قفل الملف باستخدام ( PHP FCLOSE ) وهذا ما سنقوم بعمله في المثال التالي
مثال 4 : <?php $fp = fopen("text.txt", 'wb'); for ($j = 0 ; $j <100 ; ++$j) { $written = fwrite($fp, "data"); if ($written == FALSE) break; } fclose($fp); ?>في السطر رقم (6) نسأل إذا كانت عملية الكتابة علي الملف بها خطأ , فإن كان صحيحاً , قم بإنهاء جملة for .وإن كنت لا تعرف هذه الدوال فلابأس فهي فقط لتوضيح الفكرة.