php에서 array_chunk 및 array_merge_recursive 는 두 가지 매우 유용한 배열 조작 기능입니다. Array_Chunk는 배열을 여러 개의 작은 조각으로 분할 할 수있는 반면 Array_Merge_Recursive를 사용하면 여러 배열을 재귀 적으로 병합 할 수 있습니다. 이 기사는 배열 청킹 후 병합 작업을 수행하기 위해이 두 기능을 사용하는 방법을 보여줍니다.
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
)
)
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
)
)
Array_Chunk 및 Array_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
)
)
)
Array_Chunk 와 Array_Merge_Recursive를 결합함으로써 배열을 청크로 쉽게 나누고 재귀 적으로 병합 할 수 있습니다. 이 접근법은 특히 다량의 데이터를 다룰 때 복잡한 다차원 배열을 처리하는 데 매우 효과적입니다.