현재 위치: > 최신 기사 목록> array_filter ()의 기본 사용에 대한 자세한 설명

array_filter ()의 기본 사용에 대한 자세한 설명

M66 2025-05-14

PHP 개발에서 어레이는 일반적으로 사용되는 데이터 구조입니다. 배열을 작동 할 때는 종종 널 값 제거, 특정 조건을 충족하는 요소를 유지하는 등 배열을 필터링해야합니다. array_filter () 함수는이를 위해 특별히 설계된 매우 실용적인 도구입니다.

이 기사에서는이 기능의 실제 적용을 신속하게 마스터하는 데 도움이되는 Array_Filter () 의 기본 사용법, 매개 변수의 의미 및 몇 가지 일반적인 사용 시나리오에 대해 자세히 설명합니다.

1. array_filter () 함수 소개

Array_Filter () 는 PHP의 내장 기능 중 하나입니다. 그 목적은 콜백 함수를 사용하여 배열에서 각 요소를 필터링하여 리턴 값의 요소 만 남겨 두는 입니다. 구문은 다음과 같습니다.

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array

매개 변수 설명 :

  • $ 배열 : 원래 배열 필터.

  • $ 콜백 (선택 사항) : 요소가 유지되는지 여부를 결정하는 데 사용되는 콜백 함수. NULL 이면 기본 제거 값은 False , NULL , 빈 문자열 '' , 번호 0, 빈 배열 [] 및 기타 "False 값"입니다.

  • $ mode (php 7.4+) : 콜백 함수로 전달 된 컨텐츠가 값, 키 또는 키 값 쌍인지 여부를 지정합니다.

2. 기본 사용 예제

1. 배열에서 "false 값"을 제거하십시오

이것은 형태 데이터 또는 구성 항목을 청소하는 데 적합한 가장 일반적인 사용 방법입니다.

 $data = ["apple", "", null, 0, "banana", false];

$filtered = array_filter($data);

print_r($filtered);

출력 결과 :

 Array
(
    [0] => apple
    [4] => banana
)

콜백 함수가 전달되지 않으면 Array_Filter ()는 기본적으로 "false value"를 제거합니다.

2. 콜백 함수를 사용하여 필터링 로직을 사용자 정의하십시오

예를 들어, 배열에서 길이가 5보다 큰 줄 만 유지합니다.

 $words = ["apple", "strawberry", "banana", "kiwi"];

$filtered = array_filter($words, function($word) {
    return strlen($word) > 5;
});

print_r($filtered);

산출:

 Array
(
    [1] => strawberry
    [2] => banana
)

3. 키 이름 별 필터 (Array_Filter_use_key 사용)

PHP 7.4부터 세 번째 매개 변수 $ 모드를 통해 필터링 컨텐츠를 제어 할 수 있습니다.

 $data = [
    'a' => 100,
    'b' => 200,
    'x' => 300,
];

$filtered = array_filter($data, function($key) {
    return $key === 'x';
}, ARRAY_FILTER_USE_KEY);

print_r($filtered);

산출:

 Array
(
    [x] => 300
)

3. array_filter () 일반적인 응용 프로그램 시나리오

1. 양식 데이터를 정리하십시오

 $_POST = [
    'username' => 'alice',
    'email' => '',
    'age' => null,
];

$clean_data = array_filter($_POST);

이것은 널 필드를 빠르게 제거 할 수 있으며 유효한 데이터 만 유지됩니다.

2. 특정 기준을 충족하는 사용자 데이터 필터

 $users = [
    ['name' => 'Tom', 'active' => true],
    ['name' => 'Jerry', 'active' => false],
    ['name' => 'Spike', 'active' => true],
];

$active_users = array_filter($users, function($user) {
    return $user['active'];
});

print_r($active_users);

3. URL 목록에서 법적 링크를 동적으로 필터링합니다

 $urls = [
    'https://m66.net/home',
    'invalid-url',
    'http://m66.net/contact',
    '',
];

$valid_urls = array_filter($urls, function($url) {
    return filter_var($url, FILTER_VALIDATE_URL);
});

print_r($valid_urls);

4. 주목할만한 것들

  • Array_Filter ()를 사용한 후에는 원래 배열의 키 이름이 재설정되지 않습니다 (재설정 해야하는 경우 Array_Values ​​() 와 함께 사용할 수 있음).

  • 기조 행사로 필터링 해야하는 경우 PHP 버전> = 7.4를 확인하고 array_filter_use_key를 사용하십시오.

  • 콜백 함수는 요소가 유지되는지 여부를 결정하기 위해 true 또는 false를 반환해야합니다.