Maison > développement back-end > tutoriel php > Utilisez la fonction array_walk_recursive() de PHP pour exécuter une fonction de rappel sur chaque élément d'un tableau multidimensionnel

Utilisez la fonction array_walk_recursive() de PHP pour exécuter une fonction de rappel sur chaque élément d'un tableau multidimensionnel

WBOY
Libérer: 2023-11-04 13:26:01
original
568 Les gens l'ont consulté

Utilisez la fonction array_walk_recursive() de PHP pour exécuter une fonction de rappel sur chaque élément dun tableau multidimensionnel

La fonction array_walk_recursive() en PHP peut parcourir chaque élément d'un tableau multidimensionnel et appeler la fonction de rappel spécifiée pour opérer dessus. Cet article montrera comment utiliser cette fonction à travers des exemples de code spécifiques.

Tout d'abord, créons un tableau multidimensionnel pour démontrer l'utilisation de la fonction array_walk_recursive(). Le tableau contient certaines informations sur les élèves, telles que leur nom, leur âge et leurs notes. Le code est le suivant :

$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),
    ),
);
Copier après la connexion

Ensuite, nous définissons une fonction de rappel qui ajoute la note moyenne de l'élève aux informations de chaque élève. Le code est le suivant :

function calculateAverage(&$value, $key)
{
    if ($key === 'scores') {
        $average = array_sum($value) / count($value);
        $value['average'] = $average;
    }
}
Copier après la connexion

Dans la fonction de rappel ci-dessus, nous déterminons d'abord si la clé de l'élément actuel est « scores ». Si tel est le cas, calculons le score moyen de l'élève et l'ajoutons au tableau d'informations de l'élève.

Enfin, nous pouvons utiliser la fonction array_walk_recursive() pour parcourir le tableau multidimensionnel et appeler la fonction de rappel que nous avons définie pour chaque élément. Le code est le suivant :

array_walk_recursive($students, 'calculateAverage');
Copier après la connexion

Après avoir exécuté le code ci-dessus, une clé 'moyenne' sera ajoutée aux informations de chaque élève dans le tableau $students, qui correspond au score moyen de l'élève. Nous pouvons vérifier le résultat en imprimant le tableau. Le code est le suivant :

print_r($students);
Copier après la connexion

Le résultat de sortie est le suivant :

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
                )

        )

)
Copier après la connexion

On peut voir que la note moyenne de chaque élève a été ajoutée avec succès au tableau d'informations sur l'élève correspondant.

Résumé : Cet article présente, à travers des exemples de code spécifiques, comment utiliser la fonction array_walk_recursive() de PHP pour exécuter une fonction de rappel sur chaque élément d'un tableau multidimensionnel. Grâce aux exemples ci-dessus, nous pouvons parcourir et exploiter de manière flexible des tableaux multidimensionnels pour réaliser diverses fonctions requises.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal