현재 위치: > 최신 기사 목록> array_filter ()를 사용하여 정수 용어를 필터링하십시오

array_filter ()를 사용하여 정수 용어를 필터링하십시오

M66 2025-06-04

PHP에서 Array_Filter () 는 사용자 정의로 배열에서 요소를 필터링 할 수있는 매우 실용적인 기능입니다. 콜백 함수를 전달함으로써 특정 논리 조건에 따라 배열에서 요소를 유지하거나 제거 할 수 있습니다. 이 기사에서는 Array_Filter ()를 사용하여 배열을 필터링하는 방법을 소개합니다.

array_filter ()의 기본 구문

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array
  • $ 배열 : 필터링 해야하는 원래 배열.

  • $ 콜백 : 각 요소가 유지되는지 여부를 결정하는 데 사용되는 콜백 기능. 진실을 반환하고 예약 된 것을 의미하고, 거짓은 컬링을 의미합니다.

  • $ 모드 : 수신 콜백 함수의 매개 변수 (키, 값 또는 키 값 쌍)를 제어하는 ​​선택적 매개 변수.

$ 콜백이 제공되지 않으면 거짓 값이있는 요소는 기본적으로 필터링됩니다 (예 : 0 , 빈 문자열, NULL 등).

예 : 배열에서 정수 용어를 걸러냅니다

문자열, 부동 소수점 번호, 부울 값 및 정수와 같은 다양한 유형의 데이터가 포함 된 배열이 있다고 가정합니다. 우리는 정수 만 유지하고 싶습니다.

 <?php
$data = [1, '2', 3.5, 4, 'hello', true, 0, null, 7, '8'];

$integers = array_filter($data, function ($item) {
    return is_int($item);
});

print_r($integers);
?>

출력 결과 :

 Array
(
    [0] => 1
    [3] => 4
    [8] => 7
)

보시다시피, 배열의 실제 정수 만 보존하고 '2' (문자열) 또는 3.5 (부동 소수점 번호)는 필터링됩니다.

팁 : 주요 인덱스 유지 처리

기본적으로 Array_Filter ()는 원래 배열의 주요 인덱스를 유지합니다. 다시 인덱스를 원한다면 array_values ​​()를 사용할 수 있습니다.

 $integers = array_values(array_filter($data, function ($item) {
    return is_int($item);
}));

실제 응용 시나리오

이 필터링 방법은 실제 개발에 매우 ​​유용합니다. 예를 들어, 사용자 입력 또는 원격 API에서 혼합 데이터 배열을 얻으면 array_filter ()를 사용하여 유효성 검사 또는 데이터 청소를 입력해야 할 때 신속하게 처리 할 수 ​​있습니다.

예를 들어:

 // 원격 인터페이스에서 얻은 데이터를 시뮬레이션합니다
$response = json_decode(file_get_contents("https://api.m66.net/data"), true);

$cleaned = array_filter($response['values'], function ($value) {
    return is_int($value);
});

이 코드에서는 https://api.m66.net/data 에서 데이터를 얻은 후 Array_filter ()를 사용하여 비 integer 값을 제거합니다.

결론

Array_Filter () 는 PHP의 강력한 배열 처리 기능입니다. 콜백 함수로 다양한 사용자 정의 필터링 로직을 구현할 수 있습니다. 이를 통해 특정 규칙을 준수하는 정수, 문자열 또는 데이터와 같은 배열에서 필요한 요소를 쉽게 추출 할 수 있습니다.

IS_INT () 와 같은 내장 유형 감지 기능과 함께 사용하면 데이터를 더 깨끗하고 신뢰할 수 있으며 코드를보다 우아하게 만들 수 있습니다.

배열을 다루어야 할 필요가있는 경우 Array_Map ()Array_ReDuce () 와 같은 기능도 시도해 볼 가치가 있습니다!