Heim > Backend-Entwicklung > PHP-Tutorial > Verwenden Sie die Funktion array_walk_recursive() von PHP, um eine Rückruffunktion für jedes Element in einem mehrdimensionalen Array auszuführen

Verwenden Sie die Funktion array_walk_recursive() von PHP, um eine Rückruffunktion für jedes Element in einem mehrdimensionalen Array auszuführen

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2023-11-04 13:26:01
Original
627 Leute haben es durchsucht

Verwenden Sie die Funktion array_walk_recursive() von PHP, um eine Rückruffunktion für jedes Element in einem mehrdimensionalen Array auszuführen

Die Funktion array_walk_recursive() in PHP kann jedes Element in einem mehrdimensionalen Array durchlaufen und die angegebene Rückruffunktion aufrufen, um darauf zu arbeiten. In diesem Artikel wird anhand spezifischer Codebeispiele veranschaulicht, wie diese Funktion verwendet wird.

Erstellen wir zunächst ein mehrdimensionales Array, um die Verwendung der Funktion array_walk_recursive() zu demonstrieren. Das Array enthält einige Informationen zum Schüler, z. B. Name, Alter und Noten. Der Code lautet wie folgt:

$students = array(
    array(
        'name' => '张三',
        'age' => 18,
        'scores' => array(80, 85, 90),
    ),
    array(
        'name' => '李四',
        'age' => 19,
        'scores' => array(75, 78, 82),
    ),
    array(
        'name' => '王五',
        'age' => 20,
        'scores' => array(90, 95, 88),
    ),
);
Nach dem Login kopieren

Als nächstes definieren wir eine Rückruffunktion, die die durchschnittliche Punktzahl des Schülers zu den Informationen jedes Schülers hinzufügt. Der Code lautet wie folgt:

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

In der obigen Rückruffunktion ermitteln wir zunächst, ob der Schlüssel des aktuellen Elements „Scores“ lautet. Wenn ja, berechnen wir die durchschnittliche Punktzahl des Schülers und fügen sie dem Informationsarray des Schülers hinzu.

Schließlich können wir die Funktion array_walk_recursive() verwenden, um das mehrdimensionale Array zu durchlaufen und die Rückruffunktion aufzurufen, die wir für jedes Element definiert haben. Der Code lautet wie folgt:

array_walk_recursive($students, 'calculateAverage');
Nach dem Login kopieren

Nach der Ausführung des obigen Codes wird den Informationen jedes Schülers im Array $students ein „durchschnittlicher“ Schlüssel hinzugefügt, der der durchschnittlichen Punktzahl des Schülers entspricht. Wir können das Ergebnis überprüfen, indem wir das Array drucken. Der Code lautet wie folgt:

print_r($students);
Nach dem Login kopieren

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
            [scores] => Array
                (
                    [0] => 80
                    [1] => 85
                    [2] => 90
                    [average] => 85
                )

        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
            [scores] => Array
                (
                    [0] => 75
                    [1] => 78
                    [2] => 82
                    [average] => 78.33333333333333
                )

        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
            [scores] => Array
                (
                    [0] => 90
                    [1] => 95
                    [2] => 88
                    [average] => 91
                )

        )

)
Nach dem Login kopieren

Es ist ersichtlich, dass die durchschnittliche Punktzahl jedes Schülers erfolgreich zum entsprechenden Schülerinformationsarray hinzugefügt wurde.

Zusammenfassung: In diesem Artikel wird anhand spezifischer Codebeispiele vorgestellt, wie Sie die Funktion array_walk_recursive() von PHP verwenden, um eine Rückruffunktion für jedes Element in einem mehrdimensionalen Array auszuführen. Anhand der obigen Beispiele können wir mehrdimensionale Arrays flexibel durchlaufen und betreiben, um verschiedene erforderliche Funktionen zu erreichen.

Das obige ist der detaillierte Inhalt vonVerwenden Sie die Funktion array_walk_recursive() von PHP, um eine Rückruffunktion für jedes Element in einem mehrdimensionalen Array auszuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage