PHP에서는 array_filter() 함수를 사용하여 배열의 요소를 빠르게 필터링할 수 있습니다. 이 기사에서는 이 기능의 사용법과 관련 예제를 소개합니다.
array_filter() 함수의 기본 구문은 다음과 같습니다.
1 | array_filter ( array $array [, callable $callback [, int $flag ]])
|
로그인 후 복사
여기서 $array 매개변수는 필터링할 배열이고 $callback 매개변수는 선택적 콜백 함수이며 $flag 매개변수는 필터링하는 데 사용되는 선택적 플래그입니다. 콜백 함수 반환 값을 처리하는 방법.
이러한 매개 변수를 하나씩 설명하겠습니다.
- $array: 필터링할 배열은 배열 유형이어야 합니다.
- $callback: 선택적 콜백 함수. 지정하지 않으면 값이 false인 요소가 자동으로 필터링됩니다. 콜백 함수의 형식은 함수($value)입니다. 여기서 $value는 배열 요소의 값입니다. 콜백 함수가 true를 반환하면 요소가 유지되고, 그렇지 않으면 요소가 제거됩니다.
- $flag: 콜백 함수의 반환 값을 처리하는 방법을 지정하는 데 사용됩니다. 기본적으로 array_filter() 함수는 반환 값이 false, null 또는 빈 문자열인 요소를 무시합니다. $flag 매개변수를 ARRAY_FILTER_USE_BOTH로 지정하면 키 이름이 콜백 함수에 전달됩니다.
몇 가지 예를 살펴보겠습니다.
- 배열에서 빈 값과 거짓 값을 필터링합니다.
1 2 3 4 5 | $array = array ( 'foo' , false, -1, null, '' , 0);
$result = array_filter ( $array );
print_r( $result );
|
로그인 후 복사
출력 결과:
1 2 3 4 5 | Array
(
[0] => foo
[2] => -1
)
|
로그인 후 복사
- 배열에서 10보다 작은 숫자를 필터링합니다. 배열:
1 2 3 4 5 6 7 | $array = array (1, 20, 3, 40, 5, 60, 7, 80, 9);
$result = array_filter ( $array , function ( $value ) {
return $value > 10;
});
print_r( $result );
|
로그인 후 복사
출력 결과:
1 2 3 4 5 6 7 | Array
(
[1] => 20
[3] => 40
[5] => 60
[7] => 80
)
|
로그인 후 복사
- 배열의 모든 홀수 필터링:
1 2 3 4 5 6 7 | $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 );
|
로그인 후 복사
출력 결과:
1 2 3 4 5 6 7 8 | Array
(
[1] => 2
[3] => 4
[5] => 6
[7] => 8
[9] => 10
)
|
로그인 후 복사
- 배열에 짝수 키 이름이 있는 요소 유지:
1 2 3 4 5 6 7 | $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 );
|
로그인 후 복사
출력 결과:
1 2 3 4 5 | Array
(
[0] => foo
[2] => baz
)
|
로그인 후 복사
요약하자면 array_filter() 함수는 배열의 요소를 빠르게 필터링하고 코드 복잡성과 작업량을 줄이는 데 도움이 되는 매우 실용적인 함수입니다. 콜백 함수를 자유롭게 사용하여 필요에 따라 다양한 필터링 기능을 구현할 수 있습니다.
위 내용은 PHP array_filter()를 사용하여 배열 필터링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!