Aktueller Standort: Startseite> Neueste Artikel> PHP -Tutorial: Verwenden Sie die Funktion array_walk_recursive (), um jedes Element in einem mehrdimensionalen Array zu verarbeiten

PHP -Tutorial: Verwenden Sie die Funktion array_walk_recursive (), um jedes Element in einem mehrdimensionalen Array zu verarbeiten

M66 2025-08-05

Einführung in die Funktion array_walk_recursive () in PHP

array_walk_recursive () ist eine leistungsstarke Funktion von PHP. Es kann jedes Element in einem mehrdimensionalen Array rekursiv durchlaufen und eine bestimmte Rückruffunktion darauf ausführen. Es ist für Szenarien geeignet, in denen komplexe Array -Strukturen einheitlich verarbeitet werden müssen.

Erstellen Sie ein multidimensionales Beispiel -Array

Um die Verwendung von Array_walk_recursive () zu demonstrieren, definieren wir zunächst ein multidimensionales Array, das Schülerinformationen enthält, einschließlich drei Felder:

 $students = array(
    array(
        'name' => 'Zhang San',
        'age' => 18,
        'scores' => array(80, 85, 90),
    ),
    array(
        'name' => 'Li Si',
        'age' => 19,
        'scores' => array(75, 78, 82),
    ),
    array(
        'name' => 'Wang Wu',
        'age' => 20,
        'scores' => array(90, 95, 88),
    ),
);

Definieren Sie die Rückruffunktion, um die durchschnittliche Punktzahl zu berechnen

Schreiben Sie als nächstes eine Rückruffunktion, um festzustellen, ob der Schlüsselname Bewertungen sind, und berechnen Sie den Durchschnitt der Bewertungen und fügen Sie dann den entsprechenden Score -Array den Durchschnitt hinzu:

 function calculateAverage(&$value, $key)
{
    if ($key === 'scores') {
        $average = array_sum($value) / count($value);
        $value['average'] = $average;
    }
}

Wenden Sie Array_walk_recursive () an, um das Array zu durchqueren und Rückrufe auszuführen

Verwenden Sie Array_walk_recursive (), um ein mehrdimensionales Array zu durchqueren und die oben definierte Rückruffunktion aufzurufen, um jedes Element zu verarbeiten:

 <span class="fun">array_walk_recursive ($ student, &#39;calculateaverage&#39;);</span>

Auf diese Weise wird ein durchschnittlicher Schlüssel zu jedem Schüler -Array eines Schülers hinzugefügt, um die durchschnittliche Punktzahl des Schülers zu speichern.

Überprüfungsergebnisse

Durch das Drucken des modifizierten Arrays können wir intuitiv erkennen, dass die durchschnittliche Punktzahl korrekt hinzugefügt wurde:

 <span class="fun">print_r ($ student);</span>

Beispielausgabeergebnis:

 Array
(
    [0] => Array
        (
            [name] => Zhang San
            [age] => 18
            [scores] => Array
                (
                    [0] => 80
                    [1] => 85
                    [2] => 90
                    [average] => 85
                )
        )
    [1] => Array
        (
            [name] => Li Si
            [age] => 19
            [scores] => Array
                (
                    [0] => 75
                    [1] => 78
                    [2] => 82
                    [average] => 78.33333333333333
                )
        )
    [2] => Array
        (
            [name] => Wang Wu
            [age] => 20
            [scores] => Array
                (
                    [0] => 90
                    [1] => 95
                    [2] => 88
                    [average] => 91
                )
        )
)

Zusammenfassen

In diesem Artikel wird die Verwendung von PHPs array_walk_recursive () -Funktion verwendet, um ein mehrdimensionales Array rekursiv zu durchqueren und eine flexible Verarbeitung von Array -Elementen durch Rückruffunktionen zu implementieren. Mit dieser Methode können Entwickler Daten in verschachtelten Arrays effizient verarbeiten, um den komplexen Geschäftsbedarf zu decken.