In PHP wird die Funktion array_chunk verwendet, um ein Array in mehrere kleinere Arrays aufzuteilen. Normalerweise verwenden wir es, um ein numerisches Indexarray aufzuteilen. Wenn wir uns jedoch mit assoziativen Arrays befassen, haben viele Entwickler Fragen: Wird die Funktion array_chunk den Schlüsselnamen beibehalten? Die Antwort auf diese Frage lautet:.
Lassen Sie uns zunächst schnell überprüfen, wie die Funktion array_chunk verwendet wird. Die grundlegende Verwendung von Array_Chunk lautet:
array_chunk(array $array, int $size, bool $preserve_keys = false): array
$ Array : Das ursprüngliche Array, das geteilt werden muss.
$ Größe : Die Größe jedes Subtarrays.
$ PREISERVE_KEYS : Ob Sie den Schlüsselnamen des ursprünglichen Arrays bewahren sollen, standardmäßig auf False .
Wenn $ PREERVE_KEYS auf TRUE eingestellt ist, behält Array_Chunk die Schlüsselnamen im Originalarray bei. Wenn auf False festgelegt wird (Standard ist falsch ), wird der Schlüsselname erneut indexiert.
Lassen Sie uns einige konkrete Beispiele verwenden, um zu überprüfen, ob der Schlüsselname bei Arrays bei Array_Chunk erhalten bleibt.
$array = [
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry',
'd' => 'date'
];
$result = array_chunk($array, 2);
print_r($result);
Das Ausgangsergebnis ist:
Array
(
[0] => Array
(
[0] => apple
[1] => banana
)
[1] => Array
(
[0] => cherry
[1] => date
)
)
Sie können sehen, dass der Schlüsselname verloren gegangen ist und der Schlüssel im Ergebnis von 0 neu indiziert wurde.
$array = [
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry',
'd' => 'date'
];
$result = array_chunk($array, 2, true);
print_r($result);
Das Ausgangsergebnis ist:
Array
(
[0] => Array
(
[a] => apple
[b] => banana
)
[1] => Array
(
[c] => cherry
[d] => date
)
)
In diesem Beispiel wird der Schlüsselname erhalten und Array_Chunk gibt jeden Subtarray mit dem ursprünglichen Schlüsselnamen zurück.
Array_Chunk ist nützlich, um das assoziative Array aufzuteilen. Achten Sie jedoch auf sein Verhalten: Wenn Sie den ursprünglichen Schlüsselnamen beibehalten möchten, müssen Sie den dritten Parameter $ Preserve_Keys auf true festlegen. Andernfalls werden die Schlüsselnamen wieder integriert, was möglicherweise nicht für einige Szenarien geeignet ist, in denen Sie die Schlüsselnamen beibehalten müssen.
Wenn Sie die Schlüsselnamen nicht aufbewahren und sich nur auf die Aufteilung des Array -Inhalts konzentrieren müssen, reicht das Standardverhalten aus.
Array_Chunk behält standardmäßig keine Schlüsselnamen bei und indiziert die Tasten der Subtarrays neu.
Wenn Sie den Schlüsselnamen beibehalten müssen, können Sie dies tun, indem Sie den Parameter $ PREISERVE_KEYS auf True einstellen.
Bei der Aufteilung des assoziativen Arrays ist Array_Chunk vollständig anwendbar. Es ist jedoch erforderlich, zu entscheiden, ob der Schlüsselname entsprechend Ihren Anforderungen behalten soll.
Angenommen, Sie verwenden eine URL in Ihrem Code wie folgt:
$url = 'https://m66.net/page';
$parsed_url = parse_url($url);
print_r($parsed_url);