Aktueller Standort: Startseite> Neueste Artikel> Array_Chunk So erhalten Sie den ursprünglichen Array -Index, wenn die Funktion ein Array aufteilt

Array_Chunk So erhalten Sie den ursprünglichen Array -Index, wenn die Funktion ein Array aufteilt

M66 2025-04-26

In PHP ist Array_Chunk () eine sehr häufige Funktion, mit der ein großes Array in mehrere kleine Arrays aufgeteilt und zurückgegeben wird. Standardmäßig setzt Array_Chunk () den Index jedes kleinen Arrays zurück, wodurch die Indizes von 0 zählt. Wenn Sie den ursprünglichen Index beim Aufteilen des Arrays beibehalten möchten, können Sie dazu einen zusätzlichen Parameter verwenden.

Grundnutzung

Schauen wir uns zunächst die grundlegende Verwendung von Array_Chunk () an. Angenommen, wir haben ein Array, das mehrere Elemente enthält, und verwenden Sie Array_Chunk () , um dieses Array zu teilen:

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

print_r($chunkedArray);
?>

Nach der Ausführung erhalten wir: Das Ergebnis ist:

 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
        )
)

Wie Sie sehen können, wird der Index jedes kleinen Arrays von 0 gezählt und der Index des ursprünglichen Arrays zurückgesetzt.

Halten Sie den ursprünglichen Array -Index bei

Um den ursprünglichen Array -Index beizubehalten, müssen wir nur den dritten Parameter von Array_Chunk () auf true festlegen. Dieser Parameter stellt sicher, dass das Split -Array den ursprünglichen Schlüsselnamen weiterhin behält.

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

print_r($chunkedArray);
?>

Nach der Ausführung erhalten wir: Das Ergebnis ist:

 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
        )
)

Jetzt können Sie sehen, dass der Index in jedem kleinen Array den Index des ursprünglichen Arrays hält.

Warum den ursprünglichen Index behalten?

Wenn Sie den ursprünglichen Index in einigen Fällen sehr nützlich sein, insbesondere wenn Sie weitere Vorgänge basierend auf dem Index ausführen müssen. Wenn Sie beispielsweise den ursprünglichen Speicherort eines Elements in einem geteilten Array oder prozessbezogenen Logik finden möchten, macht der Beibehalten des Index Ihren Code flexibler.

Beispielanwendungsszenarien

Angenommen, wir haben eine Reihe von Benutzern, jeder Benutzer hat eine eindeutige ID, und wenn wir dieses Array teilen und den Index aufbewahren, können wir den ursprünglichen Speicherort jedes Benutzers einfacher verfolgen. Zum Beispiel:

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

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

print_r($chunkedUsers);
?>

Ausgangsergebnis:

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

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

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

Durch die Beibehaltung des Index können wir jedes kleine Array direkt basierend auf der ursprünglichen Benutzer -ID verarbeiten.

Zusammenfassen

Wenn Sie ein Array mit Array_Chunk () teilen, setzen Sie den ursprünglichen Array -Index einfach den dritten Parameter der Funktion auf true . Dies stellt sicher, dass das Split -Array seinen ursprünglichen Schlüsselwert behält, anstatt erneut von 0 zu beginnen. Diese Funktion ist sehr nützlich, wenn Sie sich mit Arrays befassen, die Indexinformationen aufbewahren müssen.