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

من موسوعة حسوب
< PHP
ط إعادة تنسيق
سطر 1: سطر 1:
<nowiki><noinclude>{{DISPLAYTITLE:<code>array-replace()</code>}}</nowiki><nowiki></noinclude></nowiki>


(PHP 4 >= 4.0.5, PHP 5, PHP 7)
(PHP 4 >= 4.0.5, PHP 5, PHP 7)


تختزل الدالة array_reduce المصفوفة إلى قيمة واحدة باستخدام دالة مُعرَّفة من المستخدم callback.
تختزل الدالة array_reduce()‎ المصفوفة إلى قيمة واحدة باستخدام دالة مُعرَّفة من المستخدم 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>تطبق الدالة array_reduce()‎ بشكل تكراري دالة callback على عناصر array، وذلك لاختزال المصفوفة إلى قيمة واحدة.
</syntaxhighlight>تطبق الدالة array_reduce()<code></code> بشكل تكراري دالة <code>callback</code> على عناصر <code>array</code>، وذلك لاختزال المصفوفة إلى قيمة واحدة.


== المعاملات ==
== المعاملات ==


=== array ===
=== <code>array</code> ===
المصفوفة المُدخلة.
المصفوفة المُدخلة.


=== callback ===
=== <code>callback</code> ===
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
mixed callback ( mixed $carry , mixed $item )
mixed callback ( mixed $carry , mixed $item )
</syntaxhighlight>
</syntaxhighlight>


=== carry ===
=== <code>carry</code> ===
يحتفظ بالقيمة المُعادة من التكرار السابق؛ ويحمل قيمة initial في حالة التكرار الأول.
يحتفظ بالقيمة المُعادة من التكرار السابق؛ ويحمل قيمة <code>initial</code> في حالة التكرار الأول.


=== item ===
=== <code>item</code> ===
يحمل قيمة التكرار الحالي.
يحمل قيمة التكرار الحالي.


=== initial ===
=== <code>initial</code> ===
تستخدم initial الاختيارية في بداية العملية إذا كانت متاحة، أو كنتيجة نهائية في حالة إذا كانت المصفوفة فارغة.
تستخدم <code>initial</code> الاختيارية في بداية العملية إذا كانت متاحة، أو كنتيجة نهائية في حالة إذا كانت المصفوفة فارغة.


== القيم المعادة ==
== القيم المعادة ==
تُعيد القيمة الناتجة.
تُعيد القيمة الناتجة.


تُعيد الدالة array_reduce()‎ القيمة NULL إذا كانت المصفوفة فارغة ولم يمرر المعامل initial.
تُعيد الدالة array_reduce()<code></code> القيمة <code>NULL</code> إذا كانت المصفوفة فارغة ولم يمرر المعامل <code>initial</code>.


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


سطر 72: سطر 73:
== مصادر ==
== مصادر ==
* صفحة الدالة array_reduce()‎ في توثيق PHP الرسمي.
* صفحة الدالة array_reduce()‎ في توثيق PHP الرسمي.
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP Array]]

مراجعة 12:12، 15 مارس 2018

<noinclude>{{DISPLAYTITLE:<code>array-replace()</code>}}</noinclude>

(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), لأنَّ: 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​​()‎: حساب جميع قيم عناصر المصفوفة.

مصادر

  • صفحة الدالة array_reduce()‎ في توثيق PHP الرسمي.