>백엔드 개발 >PHP 튜토리얼 >'array_map', 'array_walk' 및 'array_filter'는 배열 조작 기술에서 어떻게 다릅니까?

'array_map', 'array_walk' 및 'array_filter'는 배열 조작 기술에서 어떻게 다릅니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-03 04:22:03981검색

 How Do `array_map`, `array_walk`, and `array_filter` Differ in Their Array Manipulation Techniques?

고유한 역할: array_map, array_walk 및 array_filter

array_map, array_walk 및 array_filter는 모두 콜백 함수를 전달하여 배열은 핵심 기능이 다릅니다.

array_map은 배열 요소 변환에 탁월합니다. 콜백의 출력을 가장 큰 입력 배열과 동일한 길이의 새 배열에 매핑합니다. array_walk와 달리 array_map은 원래 배열의 값을 변경하지 않고 유지합니다.

array_walk는 배열 요소를 내부 수정하는 데 특화되어 있습니다. 배열을 반복하여 각 요소에 대한 콜백을 호출하고 키 액세스를 허용합니다. array_walk는 입력 배열을 직접 변경하지만 array_map 기능은 부족합니다.

array_filter는 콜백의 진실성 검사를 기반으로 요소를 선택적으로 유지합니다. 입력 배열을 잘라내어 필터를 통과한 요소만 포함된 새 배열을 만듭니다. array_filter는 array_map과 달리 키를 유지하지만 array_walk와는 달리 원래 배열을 수정하지 않습니다.

예:

<code class="php">$array = [2.4, 2.6, 3.5];

$mapResult = array_map('floor', $array); // Stays the same
print_r($mapResult); // [2, 2, 3]

array_walk($array, function (&amp;$v, $k) { $v = floor($v); }); // Alters the array
print_r($array);  // [2, 2, 3]

$filterResult = array_filter($array, function ($v) { return $v > 2.5; }); // Preserves keys
print_r($filterResult); // [2.6, 3.5]</code>

위 내용은 'array_map', 'array_walk' 및 'array_filter'는 배열 조작 기술에서 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.