PHP array_walk_recursive() 함수

예제

배열의 각 요소에 사용자 정의 함수를 적용합니다:

<?php
function myfunction($value, $key)
{
echo "키 $key의 값은 $value입니다。<br>";
}
$a1 = array("a" => "red", "b" => "green");
$a2 = array($a1, "1" => "blue", "2" => "yellow");
array_walk_recursive($a2,"myfunction");
?>

실행 예제

정의와 사용법

array_walk_recursive() 함수는 배열 내의 각 요소에 사용자 정의 함수를 적용합니다. 함수 내에서, 배열의 키 이름과 키 값은 매개변수로 사용됩니다.

이 함수는 array_walk() 함수의 차이점은 더 깊은 배열을 처리할 수 있다는 점입니다. (한 배열 내에 다른 배열이 포함됨).

문법

array_walk_recursive(array,myfunction,parameter...)
매개변수 설명
array 必需. 배열을 지정합니다.
myfunction 必需. 사용자 정의 함수의 이름을 지정합니다.
userdata,... 선택 사항. 사용자 정의 함수의 매개변수를 지정합니다. 이 함수에 언제든지 여러 매개변수를 전달할 수 있습니다.

설명

array_walk() 함수와 유사하게, array_walk_recursive() 함수는 배열 내의 각 요소에回调 함수를 적용합니다. 다른 점은 원본 배열 내의 요소가 또 다른 배열이면,回调 함수를 재귀적으로 호출하므로 더 깊은 배열에까지 재귀적으로 호출됩니다.

일반적으로는,myfunction 두 개의 매개변수를 받아 들입니다.array 매개변수의 값을 첫 번째로, 키 이름을 두 번째로 지정합니다. 선택 사항 매개변수가 제공되면 userdata 는回调 함수에 세 번째 매개변수로 전달됩니다.

回调 함수가 배열 내의 값을 직접 작용하도록 하려면,回调 함수의 첫 번째 매개변수를 참조로 지정할 수 있습니다. 이렇게 하면 이 요소에 대한 모든 변경이 원본 배열 자체에 반영됩니다.

기술 세부 사항

반환 값: 성공하면 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
PHP 버전: 5+