Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Array_Chunk mit Array_Walk für Stapel -Updates

Verwenden Sie Array_Chunk mit Array_Walk für Stapel -Updates

M66 2025-04-26

In PHP sind Array_Chunk und Array_WALK zwei sehr häufig verwendete Array -Betriebsfunktionen. Sie werden verwendet, um das Array in kleinere Stücke zu schneiden und Rückruffunktionen für jedes Element im Array auszuführen. Heute werden wir diskutieren, wie diese beiden Funktionen in Kombination verwendet werden, um Batch -Update -Vorgänge in Arrays zu implementieren.

1. Grundlegende Einführung in Array_Chunk und Array_Walk

Array_Chunk

Die Funktion array_chunk unterteilt ein großes Array in mehrere kleine Array -Stücke. Die grundlegende Syntax ist wie folgt:

 array_chunk(array $array, int $size, bool $preserve_keys = false): array
  • $ Array : Das ursprüngliche Array, das aufgeteilt werden soll.

  • $ Größe : Die Größe jedes kleinen Stücks.

  • $ PREIVERVE_KEYS : Ob Sie die Schlüssel des ursprünglichen Arrays bewahren sollen.

Array_Chunk gibt ein mehrdimensionales Array zurück, wobei jedes Subtarray eine maximale Größe der angegebenen $-Größe hat.

array_walk

Die Funktion array_walk wird verwendet, um über das Array zu iterieren und die angegebene Rückruffunktion auf jedes Element anzuwenden. Die grundlegende Syntax ist wie folgt:

 array_walk(array &$array, callable $callback): bool
  • $ Array : Das zu bedienende Array, übergeben mit Referenz.

  • $ Callback : Eine Rückruffunktion, mit der jedes Array -Element verarbeitet wird.

array_walk wendet eine Rückruffunktion auf jedes Element des Arrays an, und die Rückruffunktion empfängt den Wert und die Taste des aktuellen Array -Elements als Parameter.

2. Kombinieren Sie Array_Chunk und Array_Walk , um Stapel -Updates zu erreichen

Angenommen, wir haben ein Array mit vielen Daten und möchten das Array aktualisieren (z. B. einige Werte im Array ändern oder dem Array einige neue Informationen hinzufügen). Um eine einzelne Verarbeitung des gesamten Arrays zu vermeiden, können wir das Array über Array_Chunk in mehrere kleine Stücke aufteilen und dann über Array_Walk Update -Operationen durchführen.

Beispielcode

Hier ist ein Beispiel für die Verwendung von Array_Chunk und Array_Walk , um Stapel -Updates zu implementieren. Angenommen, wir möchten ein Array mit mehreren URL -Adressen verarbeiten und müssen den Domänennamen in allen URLs auf m66.net ändern.

 <?php

// Originalarray,Enthält mehrere URL
$urls = [
    'http://www.example.com/path1',
    'https://www.example.com/path2',
    'http://www.example.com/path3',
    'https://www.example.com/path4',
];

// verwenden array_chunk 将Originalarray分成每块最多 2 Elemente
$chunks = array_chunk($urls, 2);

// 遍历每个小块并verwenden array_walk 来修改每Elemente
foreach ($chunks as &$chunk) {
    // verwenden array_walk Ändern Sie Elemente in jedem Block
    array_walk($chunk, function(&$url) {
        // Ersetzen Sie den Domainnamen als m66.net
        $url = preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
    });
}

// Ausgabe aktualisierte Ergebnisse
foreach ($chunks as $chunk) {
    print_r($chunk);
}

?>

Code Beschreibung:

  1. Wir definieren zunächst ein Array $ URLs mit mehreren URLs.

  2. Verwenden Sie dann Array_Chunk , um das Array in kleine Größe der Größe 2 zu teilen. Auf diese Weise werden $ Chunks ein zweidimensionales Array, das jedes Subtarray bis zu 2 Elemente enthält.

  3. Als nächstes verwenden wir Array_WALK , um jedes Subtarray (d. H. Jeder kleinen Block) durchzusetzen und den Domänennamenteil jeder URL durch einen regulären Ausdruck durch m66.net zu ersetzen.

  4. Schließlich geben wir das modifizierte Array aus.

3. Warum verwenden Sie Array_Chunk und Array_WALK ?

Vorteil:

  • Leistungsoptimierung : Array_Chunk unterteilt große Arrays in kleine Stücke, wodurch der Speicherverbrauch und das Rechenvolumen pro Betrieb reduziert werden können, insbesondere wenn es sich um sehr große Datensätze handelt.

  • Flexibilität : Verwenden Sie Array_Walk , um Daten in jedem Chunk einfach anzupassen, z. B. das Ändern bestimmter Felder, das Ersetzen von Zeichenfolgen usw.

Szenarien verwenden:

  • Stapeldatenverarbeitung, z. B. Aktualisierungen von Datenbankdatensätzen, Stapel -API -Anforderungen usw.

  • Datenreinigung, String -Austausch und andere Vorgänge.

4. Zusammenfassung

Durch die Kombination von Array_Chunk und Array_Walk können wir einfach Stapel -Update -Vorgänge in großen Arrays durchführen. Teilen Sie zuerst das Array in kleinere Stücke über Array_Chunk auf und verwenden Sie dann mit Array_WALK jedes Element eins nach dem anderen. Dieser Ansatz vereinfacht nicht nur die Codelogik, sondern verbessert auch die Speicher- und Leistungseffizienz.

Hoffentlich hilft Ihnen dieser Artikel, zu verstehen, wie Sie diese beiden Funktionen in PHP verwenden, um die Aufgaben von Arrays mit Stapel -Update zu erledigen. Wenn Sie Fragen oder weitere Bedürfnisse haben, können Sie gerne kommunizieren!