تخطَّ إلى المحتوى

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 الكامل بالعربي.