현재 위치: > 최신 기사 목록> 배열 청크 병합을 위해 array_merge_recursive와 array_chunk를 결합하십시오

배열 청크 병합을 위해 array_merge_recursive와 array_chunk를 결합하십시오

M66 2025-04-27

php에서 array_chunkarray_merge_recursive 는 두 가지 매우 유용한 배열 조작 기능입니다. Array_Chunk는 배열을 여러 개의 작은 조각으로 분할 할 수있는 반면 Array_Merge_Recursive를 사용하면 여러 배열을 재귀 적으로 병합 할 수 있습니다. 이 기사는 배열 청킹 후 병합 작업을 수행하기 위해이 두 기능을 사용하는 방법을 보여줍니다.

1. Array_chunk를 사용하여 배열 청크를 사용하십시오

Array_Chunk 는 배열을 여러 개의 작은 배열로 분할 할 수있는 PHP의 내장 기능입니다. 구문은 다음과 같습니다.

 array_chunk(array $array, int $size, bool $preserve_keys = false): array
  • $ 배열은 청크 해야하는 배열입니다.

  • $ 크기는 각 서브 어레이의 크기입니다.

  • $ preserve_keys 매개 변수는 원래 배열의 키 값을 유지할지 여부를 결정합니다.

샘플 코드 :

 $array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$chunkedArray = array_chunk($array, 3);
print_r($chunkedArray);

출력 결과 :

 Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
        )
)

2. Array_Merge_Recursive를 사용하여 배열을 재귀 적으로 병합합니다

Array_Merge_Recursive 함수는 여러 숫자를 하나로 재귀 적으로 결합합니다. 배열의 키가 여러 배열에 존재하는 경우 array_merge_recursive는 값을 배열로 병합합니다. 구문은 다음과 같습니다.

 array_merge_recursive(array ...$arrays): array
  • $ 배열 은 병합 될 배열이며 여러 배열 일 수 있습니다.

샘플 코드 :

 $array1 = ["a" => "apple", "b" => "banana"];
$array2 = ["a" => "apricot", "b" => "blueberry"];
$mergedArray = array_merge_recursive($array1, $array2);
print_r($mergedArray);

출력 결과 :

 Array
(
    [a] => Array
        (
            [0] => apple
            [1] => apricot
        )

    [b] => Array
        (
            [0] => banana
            [1] => blueberry
        )
)

3. 조작을 위해 array_chunkarray_merge_recursive를 결합하십시오

Array_ChunkArray_Merge_Recursive를 함께 사용하여 먼저 큰 배열을 청킹 한 다음 각 작은 배열을 재귀 적으로 병합 할 수 있습니다. 이는 데이터를 청크로 병합 해야하는 일부 시나리오에 매우 유용합니다.

다차원 배열이 있다고 가정하고 먼저 여러 블록으로 나눈 다음 해당 블록을 병합하려고합니다. 구현 코드의 예는 다음과 같습니다.

 // 원래 배열
$array = [
    "key1" => ["a" => "apple", "b" => "banana"],
    "key2" => ["a" => "apricot", "b" => "blueberry"],
    "key3" => ["c" => "cherry", "d" => "date"],
    "key4" => ["c" => "cranberry", "d" => "dragonfruit"]
];

// 사용 array_chunk 배열을 차단하십시오,각 블록에는 두 개의 요소가 포함되어 있습니다
$chunkedArray = array_chunk($array, 2, true);

// 사용 array_merge_recursive 각 청크를 병합하십시오
$mergedChunks = array();
foreach ($chunkedArray as $chunk) {
    $mergedChunks[] = array_merge_recursive(...$chunk);
}

// 병합 된 결과를 출력하십시오
print_r($mergedChunks);

출력 결과 :

 Array
(
    [0] => Array
        (
            [key1] => Array
                (
                    [a] => apple
                    [b] => banana
                )

            [key2] => Array
                (
                    [a] => apricot
                    [b] => blueberry
                )
        )

    [1] => Array
        (
            [key3] => Array
                (
                    [c] => cherry
                    [d] => date
                )

            [key4] => Array
                (
                    [c] => cranberry
                    [d] => dragonfruit
                )
        )
)

4. 요약

Array_ChunkArray_Merge_Recursive를 결합함으로써 배열을 청크로 쉽게 나누고 재귀 적으로 병합 할 수 있습니다. 이 접근법은 특히 다량의 데이터를 다룰 때 복잡한 다차원 배열을 처리하는 데 매우 효과적입니다.