حلقة Foreach
جزء من قسم Fundamentals في رحلة PHP على Coddy — الدرس 49 من 71.
عند العمل مع المصفوفات، غالباً ما تحتاج إلى المرور عبر كل عنصر واحداً تلو الآخر. بينما يمكنك استخدام حلقة for مع عداد فهرس، توفر PHP حلاً أكثر نظافة: حلقة foreach.
تم تصميم حلقة foreach خصيصًا للتكرار عبر المصفوفات. فهي تتعامل تلقائيًا مع العد وتمنحك وصولاً مباشرًا إلى كل عنصر.
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
?>هذا ينتج:
apple
banana
cherryالصيغة بسيطة: foreach ($array as $item). في كل تكرار، يتم تعيين العنصر التالي من المصفوفة إلى $item، ويمكنك استخدامه داخل جسم الحلقة.
قارن هذا بتحقيق نفس النتيجة باستخدام حلقة for:
<?php
$fruits = ["apple", "banana", "cherry"];
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . "\n";
}
?>إصدار foreach أقصر وأسهل في القراءة. لا تحتاج إلى إدارة متغير فهرس أو القلق بشأن طول المصفوفة - يتولى PHP كل ذلك نيابة عنك.
التحدي
سهلاقرأ سطرًا واحدًا من المدخلات يحتوي على قائمة أرقام مفصولة بفاصلة (على سبيل المثال، 10,25,5,30,15).
استخدم حلقة foreach للتكرار عبر المصفوفة وحساب مجموع كل الأرقام. اطبع المجموع الكلي.
مثال 1:
إذا كانت المدخلات هي 10,25,5,30,15، يجب أن تكون المخرجات:
85مثال 2:
إذا كانت المدخلات هي 1,2,3,4,5، يجب أن تكون المخرجات:
15مثال 3:
إذا كانت المدخلات هي 100,200,300، يجب أن تكون المخرجات:
600ورقة مرجعية
تم تصميم حلقة foreach خصيصاً للتكرار عبر المصفوفات دون الحاجة إلى إدارة متغيرات الفهرس.
الصيغة الأساسية:
<?php
foreach ($array as $item) {
// استخدم $item
}
?>مثال:
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
?>هذا الأسلوب أكثر بساطة من استخدام حلقة for مع عداد فهرس، حيث تتولى PHP تلقائياً عملية العد وتحديد طول المصفوفة.
جرّب بنفسك
<?php
// قراءة المدخلات
$input = trim(fgets(STDIN));
$numbers = explode(',', $input);
// TODO: اكتب كودك أدناه لحساب المجموع باستخدام حلقة foreach
$sum = 0;
// طباعة النتيجة
echo $sum;
?>يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمنطق
معاملات المقارنةالمساواة والتطابقالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيط2المتغيرات وأنواع البيانات
الأرقامالنصوص وعلامات الاقتباسالقيم المنطقية (Booleans)قواعد التسميةملخص - تهيئة المتغيراتالمتغيرات الفارغةدمج النصوصاستقبال مدخلات المستخدمتحويل أنواع البيانات5المنطق الشرطي
جملة Ifجملة If - Elseالعامل الثلاثي (Ternary Operator)عامل Null Coalescingجملة Switchمراجعة - اتخاذ القرارات8الحلقات التكرارية
حلقة Forحلقة Whileحلقة Foreachالتكرار باستخدام المفاتيح والقيمجملة Breakجملة Continueمراجعة - التكرار عبر البيانات3المعاملات الأساسية
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسالتعيين المركبالزيادة والنقصانأسبقية المعاملاتمراجعة - الحسابات البسيطةمعاملات النصوص