php array_walk는 배열의 각 요소에 사용자 정의 함수를 적용합니다
array_walk는 사용자 정의 함수를 사용하여 배열의 각 요소에 대해 콜백 처리를 수행합니다
기본 구문
bool array_walk ( array &$array , callable $funcname [, Mixed $userdata = NULL ] )
배열의 각 셀에 사용자 정의 함수 funcname을 적용합니다.
array_walk()는 배열 내부 배열 포인터의 영향을 받지 않습니다. array_walk()는 포인터의 위치에 관계없이 전체 배열을 탐색합니다.
매개변수 소개:
설명:
1. array_walk() 함수는 배열의 각 요소에 콜백 함수를 적용합니다. 성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다.
2. 일반적으로 funname은 두 개의 매개변수를 허용합니다. 배열 매개변수의 값이 첫 번째로 사용되고, 키 이름이 두 번째로 사용됩니다. 선택적 매개변수인 userdata가 제공되면 콜백 함수에 세 번째 매개변수로 전달됩니다.
3. funname 함수에 지정된 것보다 더 많은 매개변수가 필요한 경우 array_walk()가 funname을 호출할 때마다 E_WARNING 수준 오류가 생성됩니다. 이러한 경고는 PHP의 오류 연산자 @를 사용하여 array_walk() 호출을 수행하거나 error_reporting()을 사용하여 억제할 수 있습니다.
4. 콜백 함수가 배열의 값에 직접 작용해야 하는 경우 콜백 함수의 첫 번째 매개변수를 참조로 지정할 수 있습니다.
반환 값
성공 시 TRUE, 실패 시 FALSE를 반환합니다.
인스턴스:
<?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 />"; } echo "Before ...:<br />"; array_walk($fruits, 'test_print'); array_walk($fruits, 'test_alter', 'fruit'); echo "... and after:<br />"; array_walk($fruits, 'test_print'); ?>
실행 결과:
...전:
d 레몬
a . 오렌지
b . 바나나
c . 사과
... 그리고 다음:
d . 과일: 레몬
b .
c .과일 : 사과