Функция PHP array_walk_recursive

bool array_walk_recursive ( array &input, callback funcname [, mixed userdata] )

Применяет пользовательскую функцию funcname к каждому элементу массива input. Эта функция обрабатывает каждый элемент многомерного массива. Обычно у функции funcname два параметра. Значение массива array в качестве первого параметра, и ключ/индекс в качестве второго. Если указан дополнительный параметр userdata, он будет передан в качестве третьего параметра в функцию обратного вызова funcname.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: Если требуется, чтобы функция funcname изменила значения в массиве, определите первый параметр funcname как ссылку. Тогда все изменения будут применены к элементам массива.

Пример использования 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 ";
   }

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

Вывод вышеприведённой программы:

a holds apple
b holds banana
sour holds lemon  

Обратите внимание, что ключ 'sweet' никогда не отображается. Никакой ключ, соответствующий значению типа array, не будет передан в функцию.

См. также array_walk().