PHP에서 array_chunk 는 큰 배열을 여러 개의 작은 배열로 분할 할 수있는 매우 실용적인 기능이며 각 작은 배열의 최대 길이를 정의 할 수 있습니다.
함수 서명은 다음과 같습니다.
array_chunk(array $array, int $length, bool $preserve_keys = false): array
$ 배열 : 입력 배열.
$ 길이 : 각 분할 배열의 길이.
$ preserve_keys : true 로 설정된 경우 반환 된 배열은 원래 배열의 키 이름을 유지합니다. False 인 경우 반환 된 배열은 연속 숫자 키 이름을 재생합니다.
기본적으로 Array_Chunk는 세 번째 매개 변수 $ preserve_keys를 기반으로 원래 배열의 키 이름을 유지할지 여부를 결정합니다.
$ preserve_keys가 false (기본값)로 설정되면 반환 된 새 배열은 0 부터 시작하여 연속 숫자 키 이름을 사용합니다.
$ preserve_keys가 true 로 설정되면 새 배열은 원래 배열의 키 이름을 유지합니다.
<?php
$array = [10 => 'a', 20 => 'b', 30 => 'c', 40 => 'd', 50 => 'e'];
$result = array_chunk($array, 2);
print_r($result);
?>
출력 결과 :
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
)
)
보시다시피, 위의 코드에서 $ preserve_keys 기본값은 거짓 으로 거부되므로 반환 된 배열의 주요 이름은 0, 1, 2 로 갱신되며 원래 배열에서 10, 20, 30 과 같은 주요 이름을 유지하지 않습니다.
<?php
$array = [10 => 'a', 20 => 'b', 30 => 'c', 40 => 'd', 50 => 'e'];
$result = array_chunk($array, 2, true);
print_r($result);
?>
출력 결과 :
Array
(
[10] => Array
(
[0] => a
[1] => b
)
[20] => Array
(
[0] => c
[1] => d
)
[30] => Array
(
[0] => e
)
)
이 예에서 $ preserve_keys는 true 로 설정되어 있으므로 반환 된 배열은 원래 배열에서 키 이름을 유지합니다 : 10, 20, 30 .
$ preserve_keys가 false 로 설정되면 반환 된 새 배열의 주요 이름은 연속적입니다. 즉, 새 배열은 0 에서 시작하여 연속 숫자로 번호가 매겨집니다.
$ preserve_keys가 true 로 설정되면 반환 된 새 배열은 원래 키 이름을 유지하므로 새 배열의 키 이름은 연속적이지 않지만 원래 배열의 해당 분할 부분의 키 이름과 일치합니다.
Array_Chunk 의 동작은 $ preserve_keys 매개 변수에 따라 다릅니다.
기본적으로 ( $ preserve_keys = false ), 새 배열의 주요 이름은 0 부터 시작하여 연속적입니다.
$ preserve_keys = true가 설정되면 새 배열은 원래 배열의 키 이름을 유지합니다.
연속 숫자 키 이름이 필요한 경우 $ preserve_keys를 False 로 설정해야합니다. 그렇지 않으면 원래 키 이름을 유지할 수 있습니다.