الفرق بين المراجعتين لصفحة: «PHP/array reduce»
< PHP
Khaled-yassin (نقاش | مساهمات) ط ←الوصف: تنسيق |
لا ملخص تعديل |
||
سطر 39: | سطر 39: | ||
|- | |- | ||
|5.3.0 | |5.3.0 | ||
|تغيير <code>initial</code> للسماح بالنوع المختلط (mixed)، والذي كان | |تغيير <code>initial</code> للسماح بالنوع المختلط (mixed)، والذي كان [[PHP/Types/integer|عددًا صحيحًا (integer)]] في وقت سابق. | ||
|} | |} | ||
سطر 73: | سطر 73: | ||
== مصادر == | == مصادر == | ||
* [http://php.net/manual/en/function.array-reduce.php صفحة الدالة | * [http://php.net/manual/en/function.array-reduce.php صفحة الدالة array_reduce في توثيق PHP الرسمي]. | ||
[[تصنيف:PHP]] | [[تصنيف:PHP]] | ||
[[تصنيف:PHP Function]] | [[تصنيف:PHP Function]] | ||
[[تصنيف:PHP Array]] | [[تصنيف:PHP Array]] |
مراجعة 03:11، 21 مارس 2018
(PHP 4 >= 4.0.5, PHP 5, PHP 7)
تختزل الدالة array_reduce()
المصفوفة إلى قيمة واحدة باستخدام دالة مُعرَّفة من المستخدم callback.
الوصف
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
تطبق الدالة array_reduce()
بشكل تكراري دالة callback
على عناصر array
، وذلك لاختزال المصفوفة إلى قيمة واحدة.
المعاملات
array
المصفوفة المُدخلة.
callback
mixed callback ( mixed $carry , mixed $item )
carry
يحتفظ بالقيمة المُعادة من التكرار السابق؛ ويحمل قيمة initial في حالة التكرار الأول.
item
يحمل قيمة التكرار الحالي.
initial
تستخدم initial
الاختيارية في بداية العملية إذا كانت متاحة، أو كنتيجة نهائية في حالة إذا كانت المصفوفة فارغة.
القيم المعادة
تُعيد القيمة الناتجة.
وتُعيد الدالة array_reduce()
القيمة NULL
إذا كانت المصفوفة فارغة ولم يمرر المعامل initial
.
سجل التغييرات
الإصدار | الوصف |
---|---|
5.3.0 | تغيير initial للسماح بالنوع المختلط (mixed)، والذي كان عددًا صحيحًا (integer) في وقت سابق.
|
أمثلة
المثال 1: مثال على الدالة array_reduce()
<?php
function sum($carry, $item)
{
$carry += $item;
return $carry;
}
function product($carry, $item)
{
$carry *= $item;
return $carry;
}
$a = array(1, 2, 3, 4, 5);
$x = array();
var_dump(array_reduce($a, "sum")); // int(15)
var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>
انظر أيضًا
array_filter()
: ترشيح عناصر مصفوفة باستخدام دالة callback.array_map()
: تطبيق دالة callback على عناصر المصفوفات المحددة.array_unique()
: إزالة القيم المكررة من المصفوفة.array_count_values()
: حساب جميع قيم عناصر المصفوفة.