현재 위치: > 최신 기사 목록> Array_Chunk에 의해 반환 된 배열 키 이름은 연속적입니다. 괜찮습니까?

Array_Chunk에 의해 반환 된 배열 키 이름은 연속적입니다. 괜찮습니까?

M66 2025-04-25

PHP에서 array_chunk 는 큰 배열을 여러 개의 작은 배열로 분할 할 수있는 매우 실용적인 기능이며 각 작은 배열의 최대 길이를 정의 할 수 있습니다.

함수 서명은 다음과 같습니다.

 array_chunk(array $array, int $length, bool $preserve_keys = false): array
  • $ 배열 : 입력 배열.

  • $ 길이 : 각 분할 배열의 길이.

  • $ preserve_keys : true 로 설정된 경우 반환 된 배열은 원래 배열의 키 이름을 유지합니다. False 인 경우 반환 된 배열은 연속 숫자 키 이름을 재생합니다.

1. Array_Chunk가 변경되지 않은 상태에서 새 배열 키 이름이 반환됩니까?

기본적으로 Array_Chunk는 세 번째 매개 변수 $ preserve_keys를 기반으로 원래 배열의 키 이름을 유지할지 여부를 결정합니다.

  • $ preserve_keys가 false (기본값)로 설정되면 반환 된 새 배열은 0 부터 시작하여 연속 숫자 키 이름을 사용합니다.

  • $ preserve_keys가 true 로 설정되면 새 배열은 원래 배열의 키 이름을 유지합니다.

예 : $ preserve_keys는 거짓 입니다

 <?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 과 같은 주요 이름을 유지하지 않습니다.

예 : $ preserve_keys는 사실 입니다

 <?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 .

2. 새로운 배열의 주요 이름은 array_chunk가 연속적으로 반환됩니까?

  • $ preserve_keys가 false 로 설정되면 반환 된 새 배열의 주요 이름은 연속적입니다. 즉, 새 배열은 0 에서 시작하여 연속 숫자로 번호가 매겨집니다.

  • $ preserve_keys가 true 로 설정되면 반환 된 새 배열은 원래 키 이름을 유지하므로 새 배열의 키 이름은 연속적이지 않지만 원래 배열의 해당 분할 부분의 키 이름과 일치합니다.

3. 요약

Array_Chunk 의 동작은 $ preserve_keys 매개 변수에 따라 다릅니다.

  • 기본적으로 ( $ preserve_keys = false ), 새 배열의 주요 이름은 0 부터 시작하여 연속적입니다.

  • $ preserve_keys = true가 설정되면 새 배열은 원래 배열의 키 이름을 유지합니다.

연속 숫자 키 이름이 필요한 경우 $ preserve_keys를 False 로 설정해야합니다. 그렇지 않으면 원래 키 이름을 유지할 수 있습니다.