array_reduce()
دالة array_reduce array_reduce()
تجمع عناصر مصفوفة في قيمة واحدة متراكمة، بدءًا من قيمة ابتدائية اختيارية.
array_reduce(array, callback, initial) تمرّ على العناصر واحدًا واحدًا، وتستدعي callback(carry, item) في كل مرة — carry هي نتيجة التكرار السابق (أو initial في أول تكرار)، والنتيجة النهائية هي القيمة المُعادة بعد آخر عنصر.
إن كانت المصفوفة فارغة بلا قيمة initial، تُعيد الدالة null.
الصياغة
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
📄 مثال
$cart = [["price" => 40], ["price" => 5]]; $total = array_reduce($cart, fn($carry, $item) => $carry + $item["price"], 0); echo $total; // 45
أهم النقاط
| العنصر | الوظيفة |
|---|---|
| $carry | القيمة المتراكمة من التكرار السابق (أو initial أول مرة) |
| $item | العنصر الحالي من المصفوفة |
| $initial | قيمة البداية، وتُعاد كما هي إن كانت المصفوفة فارغة |
💡 نصائح عملية
- مرّر دائمًا initial صريحة لتفادي مفاجأة null مع مصفوفة فارغة
⚠️ أخطاء شائعة
- نسيان القيمة الابتدائية فتُصبح النتيجة null بدل 0 أو نص فارغ متوقّع
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار PHP الكامل بالعربي.