Aktueller Standort: Startseite> Neueste Artikel> Ist Array_Chunk bei der Bearbeitung von assoziativen Arrays anwendbar?

Ist Array_Chunk bei der Bearbeitung von assoziativen Arrays anwendbar?

M66 2025-04-25

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:.

Einführung in die Funktion array_chunk

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.

Das Verhalten von Schlüsselnamen im Umgang mit assoziativen Arrays

Lassen Sie uns einige konkrete Beispiele verwenden, um zu überprüfen, ob der Schlüsselname bei Arrays bei Array_Chunk erhalten bleibt.

Beispiel 1: Es werden keine Schlüsselnamen aufbewahrt

 $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.

Beispiel 2: Reservierte Schlüsselnamen

 $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.

Ist es geeignet, ein assoziatives Array aufzuteilen?

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.

Zusammenfassen

  • 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.

Beispiel für den URL -Ersatz, der am Code beteiligt ist

Angenommen, Sie verwenden eine URL in Ihrem Code wie folgt:

 $url = 'https://m66.net/page';
$parsed_url = parse_url($url);
print_r($parsed_url);