array_walk_recursive()‎

من موسوعة حسوب
< PHP
مراجعة 03:47، 4 أبريل 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - 'PHP\/([^|-]*)-([^|-]*)' ب'PHP/$1_$2')

(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.

مصادر