현재 위치: > 최신 기사 목록> Array_Chunk를 사용하여 배열을 분할 할 때 원래 배열 인덱스를 어떻게 유지할 수 있습니까?

Array_Chunk를 사용하여 배열을 분할 할 때 원래 배열 인덱스를 어떻게 유지할 수 있습니까?

M66 2025-04-26

PHP에서 Array_Chunk ()는 큰 배열을 여러 개의 작은 배열로 분할하여 반환하는 데 사용되는 매우 일반적인 기능입니다. 기본적으로 Array_Chunk () 는 각 작은 배열의 인덱스를 재설정하여 0에서 인덱스를 계산합니다. 배열을 분할 할 때 원래 인덱스를 유지하려면 추가 매개 변수를 사용하여 그렇게 할 수 있습니다.

기본 사용

먼저 Array_Chunk () 의 ​​기본 사용법을 살펴 보겠습니다. 여러 요소가 포함 된 배열이 있고 Array_Chunk ()를 사용 하여이 배열을 분할한다고 가정합니다.

 <?php
$originalArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$chunkedArray = array_chunk($originalArray, 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
        )
)

보시다시피, 각 작은 배열의 인덱스는 0에서 계산되고 원래 배열의 인덱스가 재설정됩니다.

원래 배열 인덱스를 유지하십시오

원래 배열 인덱스를 유지하려면 array_chunk () 의 ​​세 번째 매개 변수를 true 로 설정하면됩니다. 이 매개 변수는 분할 배열이 여전히 원래 키 이름을 유지하도록합니다.

 <?php
$originalArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$chunkedArray = array_chunk($originalArray, 3, true);

print_r($chunkedArray);
?>

실행 후 결과는 다음과 같습니다.

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

    [3] => Array
        (
            [3] => 4
            [4] => 5
            [5] => 6
        )

    [6] => Array
        (
            [6] => 7
            [7] => 8
            [8] => 9
        )
)

이제 각 작은 배열의 인덱스가 원래 배열의 인덱스를 유지한다는 것을 알 수 있습니다.

원래 색인을 유지하는 이유는 무엇입니까?

원래 인덱스를 유지하는 것은 경우에 따라, 특히 인덱스를 기반으로 추가 작업을 수행 해야하는 경우에도 유용 할 수 있습니다. 예를 들어, 분할 배열 또는 프로세스 관련 논리에서 요소의 원래 위치를 찾으려면 색인을 유지하면 코드가 더욱 유연 해집니다.

샘플 응용 프로그램 시나리오

사용자가 다양한 사용자가 있고 각 사용자가 고유 한 ID를 가지고 있으며이 배열을 분할하고 인덱스를 유지하면 각 사용자의 원래 위치를 더 쉽게 추적 할 수 있습니다. 예를 들어:

 <?php
$users = [
    101 => 'Alice',
    102 => 'Bob',
    103 => 'Charlie',
    104 => 'David',
    105 => 'Eve',
    106 => 'Frank'
];

$chunkedUsers = array_chunk($users, 2, true);

print_r($chunkedUsers);
?>

출력 결과 :

 Array
(
    [101] => Array
        (
            [101] => Alice
            [102] => Bob
        )

    [103] => Array
        (
            [103] => Charlie
            [104] => David
        )

    [105] => Array
        (
            [105] => Eve
            [106] => Frank
        )
)

인덱스를 유지함으로써 원래 사용자 ID를 기반으로 각 작은 배열을 직접 처리 할 수 ​​있습니다.

요약

Array_Chunk ()을 사용하여 배열을 분할 할 때 원래 배열 인덱스를 유지하려면 함수의 세 번째 매개 변수를 true 로 설정하십시오. 이렇게하면 스플릿 어레이가 0에서 다시 시작하는 대신 원래 키 값을 유지하도록합니다. 이 기능은 인덱스 정보를 보존 해야하는 배열을 처리 할 때 매우 유용합니다.