현재 위치: > 최신 기사 목록> Array_Filter와 함께 Array_Chunk로 특정 블록 데이터를 필터링하는 방법

Array_Filter와 함께 Array_Chunk로 특정 블록 데이터를 필터링하는 방법

M66 2025-04-26

PHP에서 Array_ChunkArray_Filter 는 매우 유용한 기능입니다. Array_Chunk는 큰 배열을 작은 조각으로자를 수 있지만 Array_Filter는 배열의 각 요소에 필터링 조건을 적용하여 조건을 충족하는 요소를 유지할 수 있습니다. 이 두 기능을 결합하면 블록별로 데이터를 효율적으로 필터링 할 수 있습니다.

Array_ChunkArray_Filter를 사용한 Array 청크 필터링

우리가 많은 요소가있는 배열을 가지고 있다고 가정하고 특정 블록 크기로 배열을 슬라이스하고 특정 조건을 충족하는 요소 만 유지한다고 가정합니다. 그런 다음 Array_Chunk를 사용하여 슬라이스를 사용한 다음 Array_Filter를 사용하여 각 슬라이스의 요소를 필터링 할 수 있습니다.

예 : 사용자 배열에서 18 세 이상의 사용자 필터링

사용자 이름과 연령이 포함 된 다양한 사용자가 있다고 가정 해 봅시다. 블록으로 18 세 이상 또는 동일한 사용자를 필터링해야합니다.

 <?php

// 원시 데이터 배열
$users = [
    ['name' => 'Alice', 'age' => 25],
    ['name' => 'Bob', 'age' => 17],
    ['name' => 'Charlie', 'age' => 20],
    ['name' => 'David', 'age' => 15],
    ['name' => 'Eva', 'age' => 22],
    ['name' => 'Frank', 'age' => 19],
];

// 블록으로 분할 배열
$chunks = array_chunk($users, 2); // 각 블록에는 포함됩니다 2 사용자

// 각 조각을 필터링하십시오,나이를 유지하십시오 >= 18 사용자
$filteredChunks = array_map(function($chunk) {
    return array_filter($chunk, function($user) {
        return $user['age'] >= 18;
    });
}, $chunks);

// 필터링 된 결과를 인쇄합니다
print_r($filteredChunks);

?>

설명하다:

  1. Array_Chunk ($ user, 2)는 원래 사용자 배열을 블록 당 2 명의 사용자를 포함하는 작은 배열로 나눕니다.

  2. Array_Map을 사용하면 Array_Filter 기능을 각 작은 배열 (즉, 각 데이터 조각)에 적용 할 수 있습니다.

  3. Array_Filter는 사용자 [ 'age']> = 18의 조건에 따라 연령 요구 사항을 충족하는 사용자를 필터링합니다.

  4. 마지막으로 $ FilterdChunks 배열에는 각 블록의 필터링 데이터가 포함됩니다.

산출:

 Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [name] => Alice
                    [age] => 25
                )

            [2] => Array
                (
                    [name] => Charlie
                    [age] => 20
                )
        )

    [1] => Array
        (
            [4] => Array
                (
                    [name] => Eva
                    [age] => 22
                )

            [5] => Array
                (
                    [name] => Frank
                    [age] => 19
                )
        )
)

추가 최적화 : 사용자 정의 필터링 조건을 사용하십시오

실제 조건에 따라 다른 요구를 충족시키기 위해 필터 조건을 수정할 수 있습니다. 예를 들어, 18 세에서 30 세 사이의 사용자를 필터링하려면 필터링 기능을 조정할 수 있습니다.

 $filteredChunks = array_map(function($chunk) {
    return array_filter($chunk, function($user) {
        return $user['age'] >= 18 && $user['age'] <= 30;
    });
}, $chunks);

이런 식으로 다양한 필터링 요구를 유연하게 처리 할 수 ​​있습니다.

요약

Array_ChunkArray_Filter 의 조합을 통해 큰 배열을 청크로 쉽게 처리하고 각 블록 내에서 조건부 필터링을 수행 할 수 있습니다. 이 방법은 많은 양의 데이터를 처리하는 데 적합하며, 이는 메모리 소비를 효과적으로 줄이고 성능을 향상시킬 수 있으며 코드를보다 간결하고 이해하기 쉽게 만듭니다.

이 기사가 array_chunkarray_filter 의 사용법을 이해하는 데 도움이되기를 바랍니다! 궁금한 점이 있거나 다른 PHP 기능에 관심이 있으시면 웹 사이트를 방문하십시오!