freeCodeCamp/guide/arabic/php/loops/for-loop/index.md

73 lines
2.7 KiB
Markdown

---
title: For Loop
localeTitle: لحلقة
---
## لحلقة
في PHP `for` بيان يتكون من ثلاث عبارات وبيان:
`for ((initialization); (condition); (final-expression)) statement`
### وصف
* التهيئة
* تشغيل قبل تنفيذ الأول في الحلقة.
* يستخدم هذا التعبير عادة لإنشاء عدادات.
* يتم تحديد نطاق المتغيرات التي تم إنشاؤها هنا للحلقة. بمجرد الانتهاء من الحلقة يتم تنفيذ ذلك يتم تدميرها.
* شرط
* التعبير الذي تم فحصه قبل تنفيذ كل تكرار.
* إذا تم حذف هذا التعبير يتم تقييمه إلى " `true` .
* التعبير عن النهائي
* التعبير الذي يتم تشغيله بعد كل عملية تكرار.
* عادة ما تستخدم لزيادة عداد.
* ولكن يمكن استخدامها لتشغيل أي تعبير.
* بيان
* رمز لتكرار في كل تكرار حلقة.
يمكن استخدام أي من هذه التعبيرات الثلاثة أو العبارة.
يمكن أن تحتوي التعبيرات على تعبيرات متعددة مفصولة بفواصل.
في التعبير (الشرط) ، سيتم تقييم كل تعبيرات الفاصلة المنفصلة.
يتم الحصول على النتيجة من آخر واحد.
للحلقات المستخدمة عادة لحساب عدد معين من التكرار لتكرار العبارة.
### المخاطر المشتركة
#### تجاوز حدود صفيف
عند الفهرسة عبر مصفوفة عدة مرات ، من السهل تجاوز حدود الصفيف (على سبيل المثال ، حاول أن ترجع العنصر الرابع في صفيف مكون من 3 عناصر).
`// This will cause an error.
// The bounds of the array will be exceeded.
$arr = array(1,2,3);
for ($i = 0; $i <= count($arr); $i++) {
var_dump($arr[$i]);
}
`
هذا سوف يخرج:
`int(1) int(2) int(3) NULL
`
هناك طرق لإصلاح هذا الرمز.
قم بتعيين الشرط إما `$i < count($arr)` أو `$i <= count($arr) - 1` .
#### قضايا الأداء
يمكن أن يصبح الرمز أعلاه بطيئًا ، نظرًا لجلب حجم الصفيف في كل تكرار.
لحل هذه المشكلة ، من الممكن وضع حجم الصفيف في متغير.
`//create the $size variable with a second expression comma separated
for ($i = 0, $size = count($arr); $i < $size; ++$i) {
`
### معلومات اكثر
* [PHP.net - هياكل التحكم](https://secure.php.net/manual/en/control-structures.for.php)