In PHP ist Array_Chunk eine sehr praktische Funktion, die ein großes Array in mehrere kleine Arrays aufteilen kann, und ermöglicht es uns auch, die maximale Länge jedes kleinen Arrays zu definieren.
Die Funktionssignatur ist wie folgt:
array_chunk(array $array, int $length, bool $preserve_keys = false): array
$ Array : Das Eingabearray.
$ Länge : Die Länge jedes Split -Arrays.
$ PREISERVE_KEYS : Wenn auf True gesetzt, behält das zurückgegebene Array den Schlüsselnamen des ursprünglichen Arrays bei. Wenn falsch , regeneriert der zurückgegebene Array aufeinanderfolgende numerische Schlüsselnamen.
Standardmäßig bestimmt Array_Chunk , ob der Schlüsselname des ursprünglichen Arrays basierend auf dem dritten Parameter $ PROSVERSION_KEYS aufbewahrt wird:
Wenn $ PREISERVE_KEYS auf False festgelegt ist (der Standard) , verwendet das zurückgegebene Neuarray auf konsekutive numerische Schlüsselnamen ab 0 .
Wenn $ PREISERVE_KEYS auf TRUE eingestellt ist , behält das neue Array den Schlüsselnamen des ursprünglichen Arrays bei.
<?php
$array = [10 => 'a', 20 => 'b', 30 => 'c', 40 => 'd', 50 => 'e'];
$result = array_chunk($array, 2);
print_r($result);
?>
Ausgangsergebnis:
Array
(
[0] => Array
(
[0] => a
[1] => b
)
[1] => Array
(
[0] => c
[1] => d
)
[2] => Array
(
[0] => e
)
)
Wie Sie sehen können, wird im obigen Code $ PROSERVE_KEYS standardmäßig False ausfällt, sodass die Schlüsselnamen des zurückgegebenen Arrays auf 0, 1, 2 umbenannt werden und die Schlüsselnamen wie 10, 20, 30 im ursprünglichen Array nicht behalten.
<?php
$array = [10 => 'a', 20 => 'b', 30 => 'c', 40 => 'd', 50 => 'e'];
$result = array_chunk($array, 2, true);
print_r($result);
?>
Ausgangsergebnis:
Array
(
[10] => Array
(
[0] => a
[1] => b
)
[20] => Array
(
[0] => c
[1] => d
)
[30] => Array
(
[0] => e
)
)
In diesem Beispiel ist $ PREIVERVE_KEYS auf True gesetzt, sodass das zurückgegebene Array die Schlüsselnamen im ursprünglichen Array beibehält: 10, 20, 30 .
Wenn $ Preserve_Keys auf false eingestellt ist , sind die Schlüsselnamen des zurückgegebenen Neuarrays kontinuierlich. Das heißt, das neue Array beginnt bei 0 und wird mit aufeinanderfolgenden Zahlen nummeriert.
Wenn $ PREISERVE_KEYS auf TRUE eingestellt ist , behält das zurückgegebene Neuarray den ursprünglichen Schlüsselnamen bei, sodass der Schlüsselname des neuen Arrays möglicherweise nicht kontinuierlich ist, sondern mit dem Schlüsselnamen des entsprechenden Teils des ursprünglichen Arrays übereinstimmt.
Das Verhalten von Array_Chunk hängt vom Parameter $ Preserve_keys ab:
Standardmäßig ( $ Preserve_keys = false ) sind die Schlüsselnamen des Neuarrays ab 0 kontinuierlich.
Wenn $ PREISERVE_KEYS = TRUE festgelegt ist, behält das neue Array den Schlüsselnamen des ursprünglichen Arrays bei.
Wenn Sie einen kontinuierlichen numerischen Schlüsselnamen benötigen, sollten Sie $ Preserve_Keys auf False festlegen, da Sie sonst den ursprünglichen Schlüsselnamen erhalten können.