> 백엔드 개발 > PHP 튜토리얼 > PHP에서 array_map 및 array_walk 사용에 대한 간략한 분석 및 비교

PHP에서 array_map 및 array_walk 사용에 대한 간략한 분석 및 비교

高洛峰
풀어 주다: 2023-03-03 13:26:01
원래의
1407명이 탐색했습니다.

1. array_map()

1. array_map() 함수는 배열의 각 값에 사용자 정의 함수를 적용하고 새로운 값 배열로 사용자 정의 함수를 반환합니다. 함수 적용 후 반환 값이 없으면 해당 새 값 배열은 비어 있게 됩니다.

2. 콜백 함수에서 허용하는 매개변수 개수는 array_map() 함수에 전달되는 배열 개수와 일치해야 합니다.

3. 팁: 함수에 하나 이상의 배열을 입력할 수 있습니다.

위상 함수가 두 개의 배열을 입력하는 경우 해당 함수는 두 개의 매개변수도 허용해야 합니다. map이 함수에 값을 전달할 때마다 두 배열 중 하나를 가져와 함수
에 전달합니다. 즉, 여러 배열이 동기적으로 제출되는 대신, 함수에 여러 매개변수가 있어야 합니다.

4. 구문: array array_map (callable callback,arrayarr1 [, 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));
?>
로그인 후 복사

2. array_walk()

1. array_walk - 사용자 정의 함수를 사용하여 배열

의 각 요소에 대해 콜백 처리를 수행합니다. 2. 구문: bool array_walk (array &array,callablefuncname [, 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, &#39;test_print&#39;);
 
//带额外参数
array_walk($fruits, &#39;test_alter&#39;, &#39;fruit&#39;);
echo "... and after:\n";
 
array_walk($fruits, &#39;test_print&#39;);
로그인 후 복사

위 루틴은 다음을 출력합니다.

Before ...:
d. lemon
a. orange
b. banana
c. apple
 ... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple
로그인 후 복사

핵심 사항:

맵은 주로 콜백 함수로 처리되는 새 배열을 가져오는 데 사용되며 원하는 결과는 무엇입니까?

walk 중요한 것은 각 매개변수에 대해 콜백 함수를 한 번씩 사용하는 것입니다.

walk는 콜백 함수에 추가 매개변수를 제공하는 것으로 간주할 수 있지만, map은

walk는 주로 배열의 각 값에 대해 작동하며, 연산 결과는 원본에 영향을 줍니다. 배열

맵은 주로 배열에 있는 값에 대해 연산을 수행하고 배열을 반환하여 새 배열을 얻습니다.

도보 반환 값 맵이 있을 수 없습니다. 배열을 채워야 함


관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿