حلقة for وحلقة foreach كلاهما هياكل تحكم في PHP تسمح للمطورين بالتكرار على مجموعة من البيانات. ومع ذلك ، فإنهم يختلفون من حيث بناء الجملة والطريقة التي يتعاملون بها مع عملية التكرار.
حلقة for في PHP هي بنية حلقة تقليدية تسمح بالتحكم الواضح في عملية التكرار. يتكون من ثلاثة أجزاء: التهيئة والشرط والزيادة. يتم تنفيذ جزء التهيئة مرة واحدة فقط في بداية الحلقة ويتم استخدامه لتعيين القيمة الأولية لمتغير التحكم في الحلقة. يتم تقييم جزء الشرط قبل كل تكرار ، وإذا تم تقييمه إلى صحيح ، فسيتم تنفيذ جسم الحلقة. يتم تنفيذ جزء الزيادة في نهاية كل تكرار ويستخدم لتحديث متغير التحكم في الحلقة. فيما يلي مثال على حلقة for في PHP:
for ($i = 0; $i < 5; $i++) { echo $i; }
في هذا المثال ، تبدأ الحلقة بتهيئة `$ i` إلى 0. يتم تقييم الشرط` $ i <5` قبل كل تكرار ، وطالما أنه صحيح ، يتم تنفيذ جسم الحلقة. بعد كل تكرار ، تزداد قيمة `$ i` بمقدار 1. ستخرج هذه الحلقة الأرقام من 0 إلى 4.
من ناحية أخرى ، تم تصميم حلقة foreach في PHP خصيصًا للتكرار عبر المصفوفات والكائنات. يبسط عملية التكرار على كل عنصر من عناصر المجموعة دون إدارة متغير التحكم في الحلقة بشكل صريح. يكون بناء جملة حلقة foreach كما يلي:
foreach ($array as $value) { echo $value; }
في هذا المثال ، تمثل "المصفوفة $" المصفوفة أو العنصر الذي يتم تكراره ، و "القيمة $" هي متغير مؤقت يحمل قيمة كل عنصر في المصفوفة أو الكائن. يتم تنفيذ جسم الحلقة لكل عنصر في المجموعة. فيما يلي مثال على حلقة foreach في PHP:
$fruits = array("apple", "banana", "orange"); foreach ($fruits as $fruit) { echo $fruit; }
في هذا المثال ، تتكرر الحلقة على مصفوفة `الفواكه $` ، وفي كل تكرار ، يتم تخصيص قيمة العنصر الحالي لمتغير` الفاكهة $`. يردد جسم الحلقة كل اسم فاكهة ، مما ينتج عنه الإخراج "applebananaorange".
يكمن الاختلاف الرئيسي بين حلقة for وحلقة foreach في PHP في تركيبها وهدفها. توفر حلقة for تحكمًا واضحًا في عملية التكرار ، بينما تبسط حلقة foreach التكرار على المصفوفات والكائنات عن طريق التعامل تلقائيًا مع متغير التحكم في الحلقة. كلتا الحلقتين هي أدوات قيمة للتكرار على مجموعات البيانات في PHP.
أسئلة وأجوبة أخرى حديثة بخصوص EITC/WD/PMSF PHP وأساسيات MySQL:
- ما هي الطريقة الموصى بها للوصول إلى الخصائص وتعديلها في الفصل؟
- كيف يمكننا تحديث قيمة الملكية الخاصة في الفصل؟
- ما فائدة استخدام المحاضر والضوابط في الفصل؟
- كيف يمكننا الوصول إلى قيمة الممتلكات الخاصة في الفصل؟
- ما هو الغرض من جعل الممتلكات خاصة في الفصل؟
- ما هي دالة constructor في أصناف PHP وما هو الغرض منها؟
- ما هي الطرق في أصناف PHP وكيف يمكننا تحديد رؤيتها؟
- ما هي الخصائص في فئات PHP وكيف يمكننا تحديد رؤيتها؟
- كيف ننشئ كائنًا من فئة في PHP؟
- ما هو الفصل في PHP وما الغرض الذي يخدمه؟
عرض المزيد من الأسئلة والأجوبة في EITC/WD/PMSF PHP و MySQL Fundamentals