Comment implémenter la sommation récursive des tableaux en php

PHPz
Libérer: 2023-04-18 09:59:55
original
673 Les gens l'ont consulté

En PHP, un tableau est une structure de données commune qui peut être utilisée pour stocker plusieurs valeurs. Dans certains scénarios d'application, nous devons additionner un tableau imbriqué. Dans ce cas, nous devons utiliser l'algorithme de sommation récursive du tableau.

L'idée de l'algorithme de somme récursive est de parcourir chaque élément du tableau. Si l'élément est un tableau, s'appelle-t-il récursivement pour calculer la somme du tableau, sinon ajoutez la valeur de l'élément à la somme.

Ce qui suit est un morceau de code PHP qui implémente l'algorithme de somme récursive :

function array_sum_recursive($arr) {
    $sum = 0;
    foreach ($arr as $value) {
        if (is_array($value)) {
            $sum += array_sum_recursive($value);
        } else {
            $sum += $value;
        }
    }
    return $sum;
}
Copier après la connexion

Cette fonction accepte un tableau comme paramètre et renvoie la somme de tous les éléments du tableau. Il définit d’abord la somme sur 0, puis parcourt chaque élément du tableau. Pour chaque élément, il vérifie d'abord s'il s'agit d'un tableau, et si c'est le cas, il s'appelle récursivement pour calculer la somme de ce tableau, sinon il ajoute la valeur de l'élément à la somme. Enfin, restituez la somme.

Voici quelques exemples d'utilisation de cette fonction :

$arr1 = array(1, 2, 3, 4, 5);
echo array_sum_recursive($arr1); // 输出 15

$arr2 = array(1, 2, array(3, 4, 5), 6, 7);
echo array_sum_recursive($arr2); // 输出 28

$arr3 = array(array(1, 2, 3), array(4, 5), array(6, 7, 8, 9));
echo array_sum_recursive($arr3); // 输出 45
Copier après la connexion

Comme vous pouvez le constater, quel que soit le degré d'imbrication des tableaux, cette fonction peut calculer correctement leur somme.

Dans des applications pratiques, l'algorithme de sommation récursive peut être utilisé dans de nombreux scénarios, comme compter le nombre de nœuds dans une structure arborescente, calculer la somme de toutes les valeurs dans une liste imbriquée multicouche, etc. La maîtrise de l'algorithme de sommation récursive peut nous aider à mieux gérer ces structures de données complexes et à améliorer l'efficacité et la flexibilité du programme.

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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!