Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung des Parameters für Preserve_keys von Array_Chunk

Detaillierte Erläuterung des Parameters für Preserve_keys von Array_Chunk

M66 2025-04-28

In PHP ist die Funktion array_chunk eine häufig verwendete Funktion, mit der ein großes Array in mehrere kleine Arrays aufgeteilt wird. Die grundlegende Syntax dieser Funktion lautet wie folgt:

 array_chunk(array $array, int $size, bool $preserve_keys = false): array

Parameteranalyse

  • $ Array : Das zu trennen.

  • $ Größe : Die Größe jedes Subtarrays.

  • $ PREERIVE_KEYS : Ein Boolescher Wert, der angibt, ob der Schlüsselwert des ursprünglichen Arrays beibehalten wird.

Hier sind die am häufigsten verwendeten Parameter $ Size und $ Preserve_Keys . Dieser Artikel konzentriert sich auf die Erklärung der Funktion des Parameters $ Preserve_keys und der korrekten Verwendung.

Die Funktion der Funktion array_chunk

Die Funktion array_chunk kann ein Array in mehrere kleine Arrays unterteilen, und die Größe jedes kleinen Arrays wird durch $ Größe bestimmt. Standardmäßig verwendet das Split -Array einen neuen Schlüsselwert und wird von 0 ausnummeriert. Wenn Sie den Schlüsselwert des ursprünglichen Arrays beibehalten müssen, können Sie den Parameter Preservation_keys verwenden, um ihn zu erreichen.

Die Funktion des Parameters $ Preserve_keys

$ PREIVERVE_KEYS ist ein boolescher Parameter. Standardmäßig ist sein Wert falsch , was bedeutet, dass der geteilte Subarray den Schlüsselwert des ursprünglichen Arrays verliert und von 0 erneut beginnt. Wenn $ Preserve_keys auf TRUE eingestellt ist, wird der Schlüsselwert des ursprünglichen Arrays beibehalten.

Beispiel 1: Kein Schlüsselwert reserviert

 $array = [
    10 => 'a',
    20 => 'b',
    30 => 'c',
    40 => 'd',
    50 => 'e',
];

$result = array_chunk($array, 2);  // Die Schlüsselwerte werden standardmäßig nicht beibehalten

print_r($result);

Ausgabe:

 Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )
)

Wie Sie sehen können, werden die Schlüsselwerte des Split -Arrays von 0 bis jedes Subarray abgebildet.

Beispiel 2: Schlüsselwerte reservieren

 $array = [
    10 => 'a',
    20 => 'b',
    30 => 'c',
    40 => 'd',
    50 => 'e',
];

$result = array_chunk($array, 2, true);  // aufstellenpreserve_keysfürtrue,Schlüsselwerte reservieren

print_r($result);

Ausgabe:

 Array
(
    [0] => Array
        (
            [10] => a
            [20] => b
        )

    [1] => Array
        (
            [30] => c
            [40] => d
        )

    [2] => Array
        (
            [50] => e
        )
)

Zu diesem Zeitpunkt behält das geteilte Subtarray den Schlüsselwert des ursprünglichen Arrays bei.

So verwenden Sie Preserve_Keys, um Array -Schlüsselwerte zu erhalten

Wenn Sie den Parameter von Preserve_Keys verwenden, müssen Sie ihn nur auf true einstellen, wenn Sie Array_Chunk aufrufen, um den Schlüsselwert des ursprünglichen Arrays zu erhalten. Angenommen, Sie haben ein Array, in dem die Schlüsselwerte sinnvoll sind und diese Schlüsselwerte beibehalten möchten. Sie können dies tun:

 $array = [
    0 => 'apple',
    1 => 'banana',
    2 => 'cherry',
    3 => 'date',
];

$chunks = array_chunk($array, 2, true);

foreach ($chunks as $chunk) {
    foreach ($chunk as $key => $value) {
        echo "Key: $key, Value: $value\n";
    }
}

Ausgabe:

 Key: 0, Value: apple
Key: 1, Value: banana
Key: 2, Value: cherry
Key: 3, Value: date

Wie Sie sehen können, behält das Split -Array den Schlüsselwert des ursprünglichen Arrays weiter.

Zusammenfassen

Durch den Parameter creenerve_keys der array_chunk -Funktion können wir leicht steuern, ob der Schlüsselwert des ursprünglichen Arrays aufbewahrt werden soll. Standardmäßig gehen die Schlüsselwerte verloren und nummerieren von 0; Wenn Sie jedoch die ursprünglichen Schlüsselwerte beibehalten möchten, setzen Sie einfach die Preserve_keys auf true .

Dies ist sehr nützlich für Szenarien, in denen Schlüsselwerte beibehalten werden müssen, z. B. bei der Aufrechterhaltung der Struktur und der Schlüsselwertbeziehung des ursprünglichen Arrays bei der Aufteilung einiger Indexwerte oder der Assoziierung von Arrays.

Beachten: