>  기사  >  백엔드 개발  >  PHP array_filter()를 사용하여 배열 필터링

PHP array_filter()를 사용하여 배열 필터링

WBOY
WBOY원래의
2023-06-27 11:37:171588검색

PHP에서는 array_filter() 함수를 사용하여 배열의 요소를 빠르게 필터링할 수 있습니다. 이 기사에서는 이 기능의 사용법과 관련 예제를 소개합니다.

array_filter() 함수의 기본 구문은 다음과 같습니다.

array_filter(array $array [, callable $callback [, int $flag ]])

여기서 $array 매개변수는 필터링할 배열이고 $callback 매개변수는 선택적 콜백 함수이며 $flag 매개변수는 필터링하는 데 사용되는 선택적 플래그입니다. 콜백 함수 반환 값을 처리하는 방법.

이러한 매개 변수를 하나씩 설명하겠습니다.

  1. $array: 필터링할 배열은 배열 유형이어야 합니다.
  2. $callback: 선택적 콜백 함수. 지정하지 않으면 값이 false인 요소가 자동으로 필터링됩니다. 콜백 함수의 형식은 함수($value)입니다. 여기서 $value는 배열 요소의 값입니다. 콜백 함수가 true를 반환하면 요소가 유지되고, 그렇지 않으면 요소가 제거됩니다.
  3. $flag: 콜백 함수의 반환 값을 처리하는 방법을 지정하는 데 사용됩니다. 기본적으로 array_filter() 함수는 반환 값이 false, null 또는 빈 문자열인 요소를 무시합니다. $flag 매개변수를 ARRAY_FILTER_USE_BOTH로 지정하면 키 이름이 콜백 함수에 전달됩니다.

몇 가지 예를 살펴보겠습니다.

  1. 배열에서 빈 값과 거짓 값을 필터링합니다.
$array = array('foo', false, -1, null, '', 0);

$result = array_filter($array);

print_r($result);

출력 결과:

Array
(
    [0] => foo
    [2] => -1
)
  1. 배열에서 10보다 작은 숫자를 필터링합니다. 배열:
$array = array(1, 20, 3, 40, 5, 60, 7, 80, 9);

$result = array_filter($array, function($value) {
    return $value > 10;
});

print_r($result);

출력 결과:

Array
(
    [1] => 20
    [3] => 40
    [5] => 60
    [7] => 80
)
  1. 배열의 모든 홀수 필터링:
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

$result = array_filter($array, function($value) {
    return $value % 2 == 0;
});

print_r($result);

출력 결과:

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)
  1. 배열에 짝수 키 이름이 있는 요소 유지:
$array = array(0 => 'foo', 1 => 'bar', 2 => 'baz', 3 => 'qux');

$result = array_filter($array, function($value, $key) {
    return $key % 2 == 0;
}, ARRAY_FILTER_USE_BOTH);

print_r($result);

출력 결과:

Array
(
    [0] => foo
    [2] => baz
)

요약하자면 array_filter() 함수는 배열의 요소를 빠르게 필터링하고 코드 복잡성과 작업량을 줄이는 데 도움이 되는 매우 실용적인 함수입니다. 콜백 함수를 자유롭게 사용하여 필요에 따라 다양한 필터링 기능을 구현할 수 있습니다.

위 내용은 PHP array_filter()를 사용하여 배열 필터링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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