(PHP 3>= 3.0.3, PHP 4 )
array_walk --
배열의 개개의 원소에 특정 함수를 적용하여 수행한다.
설명
int
array_walk ( array arr, string func, mixed userdata)
함수 func 을 arr의
각각의 원소에 적용한다.
func 에 배열 값이 첫번째 인자로,
배열 키다 두번째 인자로 전달된다.
userdata가 주어지면 이는 함수의 세번째 인자로
전달된다.
func 이 두개 혹은 3개 이상의 매개변수가 필요하면,
userdata 에 따라서
array_walk()이 func를
호출할 때마다 매번 경고가 발생한다.
이런 경고는 array_walk() 에 '@' 기호를 덧붙이거나
error_reporting() 를 사용함으로서 은폐될 수 있다.
참고:
func이 실제 값으로 동작할 필요가 있다면,
func의 첫번째 매개변수는 참조에 의한
전달이 되어야 한다.
그러면, 원소에 가해진 모든 변화가 배열 자체에 반영된다.
참고:
키와 userdata 를 func에 전달하는 것은
4.0 에서 추가되었다.
PHP 4 에서는 reset() 의 호출이 필수적으로 필요하다.
왜냐하면, array_walk() 는 기본적으로 배열을 리셋
시키지 않기 때문이다.
예 1.
array_walk() 예 $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";
}
array_walk ($fruits, 'test_print');
reset ($fruits);
array_walk ($fruits, 'test_alter', 'fruit');
reset ($fruits);
array_walk ($fruits, 'test_print'); |
|
each() 그리고 list()를 참고하라.