الفرق بين المراجعتين لصفحة: «PHP/array reduce»

من موسوعة حسوب
< PHP
ط ←‏الوصف: إدخال رابط داخلي
ط نقل عبد اللطيف ايمش صفحة PHP/Function/array-reduce إلى PHP/array reduce: إعادة هيكلة التوثيق
 
(8 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
{{DISPLAYTITLE:array_reduce()‎}}
<noinclude>{{DISPLAYTITLE:<code>array_reduce()‎</code>}}</noinclude>
 
(PHP 4 >= 4.0.5, PHP 5, PHP 7)
(PHP 4 >= 4.0.5, PHP 5, PHP 7)


تختزل الدالة <code>array_reduce()‎</code> المصفوفة إلى قيمة واحدة باستخدام دالة مُعرَّفة من المستخدم [[PHP/Types/callable|callback]].
تختزل الدالة <code>array_reduce()‎</code> المصفوفة إلى قيمة واحدة باستخدام دالة مُعرَّفة من المستخدم [[PHP/callable|callback]].


== الوصف ==
== الوصف ==
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
</syntaxhighlight>تطبق الدالة <code>array_reduce()‎</code> بشكل تكراري دالة callback على عناصر array، وذلك لاختزال المصفوفة إلى قيمة واحدة.
</syntaxhighlight>تطبق الدالة <code>array_reduce()‎</code> بشكل تكراري دالة <code>[[PHP/callable|callback]]</code> على عناصر <code>array</code>، وذلك لاختزال المصفوفة إلى قيمة واحدة.


== المعاملات ==
== المعاملات ==
سطر 40: سطر 39:
|-
|-
|5.3.0
|5.3.0
|تغيير <code>initial</code> للسماح بالنوع المختلط (mixed)، والذي كان عدد صحيح (integer) في وقت سابق.
|تغيير <code>initial</code> للسماح بالنوع المختلط (mixed)، والذي كان [[PHP/integer|عددًا صحيحًا (integer)]] في وقت سابق.
|}
|}


سطر 68: سطر 67:


== انظر أيضًا ==
== انظر أيضًا ==
* <code>[[PHP/Function/array-filter|array_filter()]]</code>‎: ترشيح عناصر مصفوفة باستخدام دالة callback.
* <code>[[PHP/array_filter|array_filter()]]</code>‎: ترشيح عناصر مصفوفة باستخدام دالة callback.
* <code>[[PHP/Function/array-map|array_map()‎]]</code>: تطبيق دالة callback على عناصر المصفوفات المحددة.
* <code>[[PHP/array_map|array_map()‎]]</code>: تطبيق دالة callback على عناصر المصفوفات المحددة.
* <code>[[PHP/Function/array-unique|array_unique()]]</code>‎: إزالة القيم المكررة من المصفوفة.
* <code>[[PHP/array_unique|array_unique()]]</code>‎: إزالة القيم المكررة من المصفوفة.
* <code>[[PHP/Function/array-count-values|array_count_values​​()]]</code>‎: حساب جميع قيم عناصر المصفوفة.
* <code>[[PHP/array_count_values|array_count_values​​()]]</code>‎: حساب جميع قيم عناصر المصفوفة.


== مصادر ==
== مصادر ==
* [http://php.net/manual/en/function.array-reduce.php صفحة الدالة <code>array_reduce()‎</code> في توثيق PHP الرسمي].
* [http://php.net/manual/en/function.array-reduce.php صفحة الدالة array_reduce في توثيق PHP الرسمي].
{{DEFAULTSORT:PHP, PHP Function, PHP Array}}
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP Array]]

المراجعة الحالية بتاريخ 03:49، 4 أبريل 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​​()‎: حساب جميع قيم عناصر المصفوفة.

مصادر