Maison >développement back-end >Problème PHP >Comment additionner les éléments de deux tableaux en php

Comment additionner les éléments de deux tableaux en php

PHPz
PHPzoriginal
2023-04-26 10:21:55769parcourir

En PHP, nous devons parfois additionner les éléments de deux tableaux, et les deux tableaux peuvent avoir des longueurs différentes. Cet article vous présentera deux méthodes pour atteindre cet objectif.

Méthode 1 : Utiliser la boucle for

Cette méthode utilise la boucle for pour parcourir les éléments du tableau un par un, ajouter les éléments aux positions correspondantes et les stocker dans un nouveau tableau . Enfin, retournez ce nouveau tableau. Le code est le suivant :

function sumArrays($arr1, $arr2) {
    $n1 = count($arr1);
    $n2 = count($arr2);

    $n = max($n1, $n2);
    $result = array();

    for ($i = 0; $i < $n; $i++) {
        $sum = 0;
        if ($i < $n1) {
            $sum += $arr1[$i];
        } 
        if ($i < $n2) {
            $sum += $arr2[$i];
        }
        array_push($result, $sum);
    }
    return $result;
}

Ici, nous calculons respectivement les longueurs des deux tableaux $n1$ et $n2$, puis prenons la valeur maximale $n$ comme longueur du nouveau tableau.

Ensuite, dans la boucle for, nous définissons d'abord $sum$ comme étant 0, puis déterminons si l'index actuel $i$ est inférieur à $n1$ ou $n2$. la position correspondante aux éléments est ajoutée à $sum$. Enfin, stockez $sum$ dans un nouveau tableau et renvoyez le résultat.

Méthode 2 : Utilisez la fonction array_map()

Cette méthode utilise la fonction array_map() et la fonction anonyme de PHP. La fonction array_map() passe les éléments correspondant à deux tableaux en arguments à une fonction anonyme, puis les ajoute et renvoie un nouveau tableau. Le code est le suivant :

function sumArrays($arr1, $arr2) {
    $n1 = count($arr1);
    $n2 = count($arr2);

    $n = max($n1, $n2);
    $result = array_map(function($a, $b) {
        return $a + $b;
    }, array_pad($arr1, $n, 0), array_pad($arr2, $n, 0));
    
    return $result;
}

Tout d'abord, nous utilisons la fonction count() pour calculer les longueurs $n1$ et $n2$ des deux tableaux, puis prenons la valeur maximale $n$.

Ensuite, nous utilisons la fonction array_pad() pour remplir les deux tableaux à la même longueur. Si l'un des tableaux est plus long que l'autre, nous remplissons son espace vide avec des 0.

Ensuite, nous appelons la fonction array_map() et la fonction anonyme, en passant les deux tableaux remplis en paramètres. La fonction anonyme ajoute deux éléments correspondants et renvoie le résultat. Renvoyez enfin $result$.

Cette méthode semble plus concise et utilise des fonctions intégrées, mais elle peut être plus lente que la première méthode lors du traitement de grands tableaux.

Summary

Cet article présente deux méthodes pour additionner deux éléments d'un tableau en PHP. La première méthode utilise une boucle for, tandis que la deuxième méthode utilise la fonction intégrée array_map() de PHP. Les deux méthodes ont leurs propres avantages et inconvénients, et vous pouvez choisir la méthode appropriée en fonction de vos propres besoins.

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!

Déclaration:
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