이 글의 내용은 PHP에서 array_map 함수와 array_walk 함수의 사용법 차이에 대한 내용입니다. 필요한 친구들이 참고하면 도움이 될 것입니다.
array_map():
1. array_map() 함수는 배열의 각 값에 사용자 정의 함수를 적용하고, 사용자 정의 함수가 적용된 후 새로운 값이 포함된 배열을 반환합니다. 이후에 적용됩니다. 반환 값이 없으면 해당 새 값 배열은 비어 있게 됩니다.
2. 콜백 함수에서 허용하는 매개변수 수는 array_map() 함수에 전달된 배열 수와 일치해야 합니다.
3. 팁: 함수에 하나 이상의 배열을 입력할 수 있습니다.
위상 함수가 2개의 배열을 입력하는 경우 해당 함수는 두 개의 매개변수도 허용해야 합니다. map이 함수에 값을 전달할 때마다 두 배열 중 하나를 가져와서
number 함수에 전달합니다. 즉, 여러 배열을 동시에 제출하고 다음
여러 배열을 제출하는 대신 함수에 여러 매개변수
4가 있어야 합니다. 구문: array array_map ( callable arr1 [ , array $… ] )
예:
<?php //单数组形式 function myfunction($v){ if ($v==="Dog") { return "Fido"; } return $v; } $a=array("Horse","Dog","Cat"); print_r(array_map("myfunction",$a));//多数组形式 function myfunction1($v1,$v2){ if ($v1===$v2) { return "same"; } return "different"; } $a1=array("Horse","Dog","Cat"); $a2=array("Cow","Dog","Rat"); print_r(array_map("myfunction1",$a1,$a2)); ?>
array_walk():
1. array_walk — 사용자 정의 함수를 사용하여 배열의 각 요소에 대해 콜백 처리를 수행합니다.
2 구문: bool array_walk ( array &
funcname [,mixed $userdata = NULL ] )
매개변수:
$array 입력 배열입니다. $funcname 콜백 함수, 일반적으로 $funcname은 두 개의 매개변수를 허용합니다.
$array 매개변수의 값이 첫 번째로 사용되고, 키 이름이 두 번째로 사용됩니다.
$userdata 선택적 매개변수 $userdata가 제공되면 $funcname에 세 번째 매개변수로 전달됩니다.
참고:
$funcname이 배열의 값에 대해 직접 작동해야 하는 경우 funcname에 대한 첫 번째 인수를 참조로 지정합니다(앰퍼샌드 추가). 이렇게 하면
이 셀을 변경하면 원래 배열 자체도 변경됩니다.
반환 값:
성공 시 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 />\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
핵심 포인트:
map은 주로 콜백 함수로 처리된 새 배열을 가져오는 것이며 원하는 것은 결과입니다.
walk는 주로 각 매개변수에 대해 콜백 함수를 한 번씩 사용합니다. 중요한 것은 처리 과정입니다.
walk는 콜백 함수에 추가 매개변수를 제공하는 것으로 간주할 수 있지만 map은 그럴 수 없습니다.
walk는 주로 배열의 각 값에 대해 작동하며, 연산 결과는 주로 원래 배열의 값에 영향을 미칩니다. , 배열을 반환하여 새 배열을 얻습니다.
walk 반환 값은 없지만 배열을 채워야 하기 때문에 맵이 필요합니다.
추천 관련 기사:
include() 함수와 차이점은 무엇입니까? PHP의 require() 함수?
PHP :array_walk()와 array_map()의 차이점
PHP의 array_map, array_filter 및 array_walk의 차이점
위 내용은 PHP에서 array_map 함수와 array_walk 함수의 사용법 차이의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!