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

من موسوعة حسوب
< PHP
طلا ملخص تعديل
طلا ملخص تعديل
سطر 15: سطر 15:


=== <code>callback</code> ===
=== <code>callback</code> ===
عادةً ما تحتاج الدالة <code>callback</code> المُعرّفة من المستخدم إلى معامليْن. الأول قيمة معامل المصفوفة <code>array</code>، والثاني المفتاح أو الفهرس.<blockquote>ملاحظة: إذا لزم أن تعمل الدالة <code>callback</code> مع القيم الفعلية للمصفوفة، فيجب تعيين أول معامل لدالة <code>callback</code> [[PHP/References|كمرجع]]. بعد ذلك، ستُجرى أي تغييرات على هذه العناصر في المصفوفة الأصلية نفسها.</blockquote>
عادةً ما تحتاج الدالة <code>callback</code> المُعرّفة من المستخدم إلى معامليْن. الأول قيمة معامل المصفوفة <code>array</code>، والثاني المفتاح أو الفهرس.
 
ملاحظة: إذا لزم أن تعمل الدالة <code>callback</code> مع القيم الفعلية للمصفوفة، فيجب تعيين أول معامل لدالة <code>callback</code> [[PHP/References|كمرجع]]. بعد ذلك، ستُجرى أي تغييرات على هذه العناصر في المصفوفة الأصلية نفسها.


=== <code>userdata</code> ===
=== <code>userdata</code> ===
إذا توفّر معامل <code>userdata</code> الاختياري، فسيمرر كمعامل ثالث إلى <code>callback</code>.
إذا توافر معامل <code>userdata</code> الاختياري، فسيمرر كمعامل ثالث إلى <code>callback</code>.


= القيم المعادة =
= القيم المعادة =
سطر 40: سطر 42:
b holds banana
b holds banana
sour holds lemon
sour holds lemon
</syntaxhighlight>قد تلاحظ أن المفتاح '<code>sweet</code>' لا يُعرض أبدًا. ولن يُمرَّر أيُّ مفتاحٍ يحمل مصفوفة إلى الدالة.
</syntaxhighlight>قد تلاحظ أن المفتاح <code>sweet</code> لا يُعرض أبدًا. ولن يُمرَّر أيُّ مفتاحٍ يحمل مصفوفة إلى الدالة.


== أنظر أيضًا ==
== أنظر أيضًا ==
سطر 47: سطر 49:


== مصادر ==
== مصادر ==
* [http://php.net/manual/en/function.array-walk-recursive.php صفحة الدالة <code>array_walk_recursive()</code>‎ في توثيق PHP الرسمي].
* [http://php.net/manual/en/function.array-walk-recursive.php صفحة الدالة array_walk_recursive‎ في توثيق PHP الرسمي].


[[تصنيف:PHP]]
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP Array]]
[[تصنيف:PHP Array]]

مراجعة 14:57، 21 مارس 2018

(PHP 5, PHP 7)

تُطبّق الدالة ()‎array_walk_recursive الدالة callback المُقدّمة من المستخدم تكراريًا على كل عنصر في المصفوفة.

الوصف

bool array_walk_recursive ( array &$array , callable $callback [, mixed $userdata = NULL ] )

تُطبّق الدالة array_walk_recursive()‎ دالة callback المُعرّفة بواسطة المستخدم على كل عنصر في المصفوفة array. وسوف تتكرر هذه الدالة داخل المصفوفات المتشعبة.

المعاملات

array

المصفوفة المدخلة.

callback

عادةً ما تحتاج الدالة callback المُعرّفة من المستخدم إلى معامليْن. الأول قيمة معامل المصفوفة array، والثاني المفتاح أو الفهرس.

ملاحظة: إذا لزم أن تعمل الدالة callback مع القيم الفعلية للمصفوفة، فيجب تعيين أول معامل لدالة callback كمرجع. بعد ذلك، ستُجرى أي تغييرات على هذه العناصر في المصفوفة الأصلية نفسها.

userdata

إذا توافر معامل userdata الاختياري، فسيمرر كمعامل ثالث إلى callback.

القيم المعادة

تُعيد الدالة array_walk_recursive()‎ القيمة TRUE عند نجاحها أو FALSE عند فشل تنفيذها.

أمثلة

المثال 1: مثال على الدالة array_walk_recursive()‎

<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');

function test_print($item, $key)
{
    echo "$key holds $item\n";
}

array_walk_recursive($fruits, 'test_print');
?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

a holds apple
b holds banana
sour holds lemon

قد تلاحظ أن المفتاح sweet لا يُعرض أبدًا. ولن يُمرَّر أيُّ مفتاحٍ يحمل مصفوفة إلى الدالة.

أنظر أيضًا

  • الدالة array_walk()‎: تطبيق دالة معرَّفة  من المستخدم على كل عنصر في المصفوفة.
  • معلومات حول النوع callback.

مصادر