الفرق بين المراجعتين لصفحة: «PHP/array replace»
< PHP
Khaled-yassin (نقاش | مساهمات) إدخال أول مرة |
Khaled-yassin (نقاش | مساهمات) ط تعديل التنسيق |
||
سطر 1: | سطر 1: | ||
(PHP 4 >= 4.0.5, PHP 5, PHP 7) | (PHP 4 >= 4.0.5, PHP 5, PHP 7) | ||
تختزل الدالة array_reduce المصفوفة إلى قيمة واحدة باستخدام دالة مُعرَّفة من المستخدم callback. | تختزل الدالة array_reduce المصفوفة إلى قيمة واحدة باستخدام دالة مُعرَّفة من المستخدم callback. | ||
== الوصف == | |||
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) | mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) | ||
تطبق الدالة array_reduce() بشكل تكراري دالة callback على عناصر array، وذلك لاختزال المصفوفة إلى قيمة واحدة. | تطبق الدالة array_reduce() بشكل تكراري دالة callback على عناصر array، وذلك لاختزال المصفوفة إلى قيمة واحدة. | ||
== المعاملات == | |||
=== array === | |||
المصفوفة المُدخلة. | المصفوفة المُدخلة. | ||
callback | === callback === | ||
mixed callback ( mixed $carry , mixed $item ) | mixed callback ( mixed $carry , mixed $item ) | ||
carry | === carry === | ||
يحتفظ بالقيمة المُعادة من التكرار السابق؛ ويحمل قيمة initial في حالة التكرار الأول. | يحتفظ بالقيمة المُعادة من التكرار السابق؛ ويحمل قيمة initial في حالة التكرار الأول. | ||
item | === item === | ||
يحمل قيمة التكرار الحالي. | يحمل قيمة التكرار الحالي. | ||
initial | === initial === | ||
تستخدم initial الاختيارية في بداية العملية إذا كانت متاحة، أو كنتيجة نهائية في حالة إذا كانت المصفوفة فارغة. | تستخدم initial الاختيارية في بداية العملية إذا كانت متاحة، أو كنتيجة نهائية في حالة إذا كانت المصفوفة فارغة. | ||
== القيم المعادة == | |||
تُعيد القيمة الناتجة. | تُعيد القيمة الناتجة. | ||
تُعيد الدالة array_reduce() القيمة NULL إذا كانت المصفوفة فارغة ولم يمرر المعامل initial. | تُعيد الدالة array_reduce() القيمة NULL إذا كانت المصفوفة فارغة ولم يمرر المعامل initial. | ||
== سجل التغييرات == | |||
{| class="wikitable" | {| class="wikitable" | ||
|الإصدار | |الإصدار | ||
سطر 45: | سطر 39: | ||
|} | |} | ||
== أمثلة == | |||
المثال 1: مثال على الدالة array_reduce() | المثال 1: مثال على الدالة array_reduce() | ||
<?php | |||
function sum($carry, $item) | |||
function sum($carry, $item) | |||
{ | { | ||
$carry += $item; | $carry += $item; | ||
return $carry; | return $carry; | ||
} | } | ||
function product($carry, $item) | function product($carry, $item) | ||
{ | { | ||
$carry *= $item; | $carry *= $item; | ||
return $carry; | return $carry; | ||
} | } | ||
$a = array(1, 2, 3, 4, 5); | $a = array(1, 2, 3, 4, 5); | ||
$x = array(); | $x = array(); | ||
var_dump(array_reduce($a, "sum")); // int(15) | 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($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" | var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce" | ||
?> | ?> | ||
انظر أيضًا | |||
* [[PHP/Function/array-filter|array_filter()]]: ترشيح عناصر مصفوفة باستخدام دالة callback. | * [[PHP/Function/array-filter|array_filter()]]: ترشيح عناصر مصفوفة باستخدام دالة callback. | ||
* [[PHP/Function/array-map|array_map()]]: تطبيق دالة callback على عناصر المصفوفات المحددة. | * [[PHP/Function/array-map|array_map()]]: تطبيق دالة callback على عناصر المصفوفات المحددة. | ||
سطر 88: | سطر 81: | ||
* [[PHP/Function/array-count-values|array_count_values()]]: حساب جميع قيم عناصر المصفوفة. | * [[PHP/Function/array-count-values|array_count_values()]]: حساب جميع قيم عناصر المصفوفة. | ||
== مصادر == | |||
* صفحة الدالة array_reduce() في توثيق PHP الرسمي. | * صفحة الدالة array_reduce() في توثيق PHP الرسمي. |
مراجعة 10:17، 15 مارس 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), لأنَّ: 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 الرسمي.