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
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), ), );
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; } }
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');
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);
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 ) ) )
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!