PHP array_walk() 함수
예제
배열의 각 요소에 사용자 정의 함수를 적용합니다:
<?php function myfunction($value,$key) { echo "The key $key has the value $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ?>
정의와 사용법
array_walk() 함수는 배열의 각 요소에 사용자 정의 함수를 적용합니다. 함수 내에서 배열의 키 이름과 키 값은 인자로 사용됩니다。
주의사항:사용자 정의 함수의 첫 번째 인자를 참조로 지정하여 배열 요소의 값을 변경할 수 있습니다. (예제 2 참조): &$value
추가 정보:更深层次的 배열(배열 내에 배열이 포함된 경우)을 처리하려면 다음을 사용하십시오: array_walk_recursive() 함수.
문법
array_walk(array,myfunction,userdata...)
인자 | 설명 |
---|---|
array | 필수입니다. 배열을 지정합니다。 |
myfunction | 필수입니다. 사용자 정의 함수의 이름입니다。 |
userdata,... | 선택적입니다. 사용자 정의 함수의 인자를 지정합니다. 이 함수에 어떤 인자를 전달하든 됩니다。 |
설명
array_walk() 함수는 배열의 각 요소에 콜백 함수를 적용합니다. 성공하면 TRUE를 반환하며, 실패하면 FALSE를 반환합니다。
표준적인 경우 myfunction 두 개의 인자를 받아들입니다。array 인자의 값은 첫 번째, 키 이름은 두 번째로 사용됩니다。 선택적 인자가 제공되면 userdata 콜백 함수에 세 번째 인자로 전달될 것입니다。
만약 myfunction 가 필요한 매개변수가 주어진 매개변수보다 많을 경우, 각 array_walk() 호출마다 myfunction 발생할 때마다 E_WARNING 레벨의 오류가 발생합니다. 이 경고는 array_walk() 호출 전에 PHP의 오류 처리 연산자 @를 추가하여 억제하거나 error_reporting()를 사용하여 억제할 수 있습니다。
주의사항:回调 함수가 배열 내의 값을 직접 작용해야 한다면,回调 함수의 첫 번째 매개변수를 참조로 지정할 수 있습니다:&$value。(예제 3을 참조하세요)
주의사항:키 이름과 userdata 전달됩니다 myfunction 는 PHP 4.0에서 새로 추가된 것입니다.
기술 세부 사항
반환 값: | 성공하면 TRUE를 반환하며, 실패하면 FALSE를 반환합니다。 |
PHP 버전: | 4+ |
더 많은 예제
예제 1
하나의 매개변수를 설정합니다:
<?php function myfunction($value,$key,$p) { echo "$key $p $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction","has the value"); ?>
예제 2
배열 요소의 값을 변경합니다. (请注意 &$value):
<?php function myfunction(&$value,$key) { $value="yellow"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); print_r($a); ?>