>  기사  >  백엔드 개발  >  PHP에서 array_map, array_walk 및 array_filter를 언제 사용합니까?

PHP에서 array_map, array_walk 및 array_filter를 언제 사용합니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-28 09:52:02867검색

 When to Use array_map, array_walk, and array_filter in PHP?

array_map, array_walk 및 array_filter의 차이점 설명

PHP의 배열 함수는 배열을 조작하는 편리한 방법을 제공합니다. 이 중 array_map, array_walk, array_filter가 일반적으로 사용됩니다. 유사점을 공유하지만 동작에는 주요 차이점이 있습니다.

기능 개요

  • array_map: 각각에 콜백 함수를 적용합니다. 배열의 요소를 삭제하고 결과가 포함된 새 배열을 반환합니다.
  • array_walk: 배열의 각 요소에 콜백 함수를 적용하고 원래 배열을 제자리에서 업데이트합니다.
  • array_filter: 콜백 함수를 기반으로 배열에서 요소를 제거하고 조건을 통과한 요소만 포함된 새 배열을 반환합니다.

주요 차이점

  • 어레이 수정: array_walk는 원래 어레이를 수정하지만 array_map은 수정하지 않습니다.
  • 키 액세스: array_walk는 액세스를 허용합니다. 콜백 함수 내에서 키를 배열하는 반면 array_map은 그렇지 않습니다.
  • 반환 값: array_map은 새 배열을 반환하고 array_walk는 true를 반환합니다. array_filter도 새 배열을 반환하지만 필터링된 요소만 포함합니다.
  • 반복: array_map은 여러 배열에 대해 동시에 반복할 수 있는 반면 array_walk는 하나의 배열에 대해서만 반복합니다.
  • 임의의 데이터 전달: array_walk는 PHP 5.3에 도입된 옵션인 콜백에 전달할 추가 매개변수를 허용할 수 있습니다.
  • 반환된 배열 길이: array_map의 결과 배열은 가장 큰 입력 배열의 길이인 반면 array_walk의 배열은 길이를 변경하지 않습니다. array_filter는 필터링된 요소의 길이와 일치하는 배열을 반환합니다.

예시

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

// array_map
$b = array_map('floor', $a); // $a remains unchanged
print_r($b); // Output: [2, 2, 3]

// array_walk
array_walk($a, 'floor'); // Modifies $a
print_r($a); // Output: [2, 2, 3]

// array_filter
$c = array_filter($a, fn($v) => $v > 2.5); // Filter elements
print_r($c); // Output: [2.6, 3.5]</code>

결론적으로 array_map, array_walk 및 array_filter는 각각 배열 조작의 특정 역할. 차이점을 이해하면 개발자는 자신의 작업에 가장 적합한 기능을 선택할 수 있습니다.

위 내용은 PHP에서 array_map, array_walk 및 array_filter를 언제 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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