array_walk_recursive
array
배열 함수 목록
PHP Manual

# array_walk

(PHP 4, PHP 5)

array_walk — 배열의 각 원소에 대해서 특정 함수를 적용

### 설명

bool array_walk ( array `&$array` , callback `$funcname` [, mixed `$userdata` ] )

`array` 배열의 각 원소에 사용자 정의 함수 `function` 을 적용한다.

array_walk()는 `array` 의 내부적인 배열 포인터에 의해 영향을 받지 않는다. array_walk()는 포인터 위치에 상관없이 전체 배열를 가로지를것이다.

### 인수

`array`

  입력 배열.

`funcname`

  일반적으로, `funcname` 는 두 인수를 받습니다. 첫번째는 `array` 인수의 값이고, 두번째는 키/인덱스입니다.

  > Note: `funcname` 이 배열의 실제 값으로 동작해야 한다면, `funcname` 의 첫번째 인수를 참조로 설정합니다. 그러면 이러한 원소에 미치는 변경이 원래 배열에도 적용됩니다.

  사용자가 콜백 함수에서 `array` 자체를 변경할 수 없습니다. 즉, 원소를 추가/삭제, 원소를 unset하는 등. array_walk()에 적용된 배열이 변경되면, 이 함수의 동작은 정의되지 않고, 예측할 수 없습니다.

`userdata`

  선택적인 `userdata` 인수가 제공되면, `funcname` 콜백의 세번째 인수로 넘겨집니다.

### 반환값

성공할 경우 `TRUE`를, 실패할 경우 `FALSE`를 반환합니다.

### 오류/예외

`funcname` 함수가 주어진 것보다 더 많은 인수를 요구하면 array_walk()가 `funcname` 을 호출할 때마다 E_WARNING 등급의 오류가 발생한다. 이런 경고는 array_walk() 호출에 PHP 오류 연산자 @를 덧붙이거나, error_reporting()을 사용해서 은폐할 수 있다.

### 변경점

버전 | 설명
--- | ---
4.0.0 | `funcname` 에 key와 `userdata` 를 전달하는 기능이 추가.

### 예제

Example #1 array_walk() 예제

`<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br />\n";
}
echo "Before ...:\n";
array_walk($fruits, 'test_print');
array_walk($fruits, 'test_alter', 'fruit');
echo "... and after:\n";
array_walk($fruits, 'test_print');
?>`

위 예제의 출력:

    Before ...:
    d. lemon
    a. orange
    b. banana
    c. apple
    ... and after:
    d. fruit: lemon
    a. fruit: orange
    b. fruit: banana
    c. fruit: apple

### 참고

- array_walk_recursive() - Apply a user function recursively to every member of an array
- iterator_apply() - Apply a user function to every element of an iterator
- create_function() - Create an anonymous (lambda-style) function
- list() - 배열처럼 변수에 할당
- each() - 배열에서 현재 키와 값 쌍을 반환하고 배열 커서를 전진
- call_user_func_array() - Call a user function given with an array of parameters
- array_map() - Applies the callback to the elements of the given arrays
- callback형에 대한 정보
- foreach

array_walk_recursive
array
배열 함수 목록
PHP Manual