고유한 역할: 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 (&$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!