Maison >développement back-end >Problème PHP >Comment additionner des éléments identiques dans un tableau 2D en PHP

Comment additionner des éléments identiques dans un tableau 2D en PHP

PHPz
PHPzoriginal
2023-04-25 09:04:231241parcourir

En PHP, un tableau bidimensionnel est une structure de données très courante. Il se compose de plusieurs tableaux unidimensionnels et stocke des structures de données relativement complexes. Lorsqu'il s'agit de faire fonctionner des tableaux à deux dimensions, il est parfois nécessaire de sommer les mêmes éléments. Dans cet article, nous expliquerons comment additionner des éléments identiques dans un tableau bidimensionnel en PHP.

Tout d’abord, nous devons comprendre ce qu’est un tableau bidimensionnel. Un tableau à deux dimensions est un tableau dans lequel chaque élément est un tableau. Nous pouvons définir un tableau bidimensionnel de la manière suivante :

$array = array(
  array(1, 2, 3),
  array(4, 5, 6),
  array(7, 8, 9)
);

Ici, nous définissons un tableau bidimensionnel 3x3. Parmi eux, chaque sous-tableau possède le même nombre d’éléments et est disposé dans un certain ordre. Ensuite, nous apprendrons comment additionner des éléments identiques dans ces sous-tableaux.

La première méthode consiste à utiliser une boucle foreach. Nous pouvons parcourir chaque sous-tableau du tableau 2D et utiliser une autre boucle foreach pour parcourir chaque élément du sous-tableau et enfin additionner tous les mêmes éléments. Le code d'implémentation est le suivant :

$sums = array();

foreach ($array as $subarray) {
  foreach ($subarray as $key => $value) {
    if (isset($sums[$key])) {
      $sums[$key] += $value;
    }
    else {
      $sums[$key] = $value;
    }
  }
}

print_r($sums);

Dans ce code, nous créons d'abord un nouveau tableau nommé $sums. Nous utilisons une double boucle pour parcourir chaque sous-tableau du tableau 2D et chaque élément de chaque sous-tableau. Pour chaque élément, nous vérifions s'il existe déjà dans $sums, et si c'est le cas, ajoutons la valeur d'origine à l'élément ; sinon, ajoutons la valeur à $sums ; Enfin, nous imprimons les $sums pour voir les résultats.

La deuxième méthode consiste à utiliser la fonction array_reduce. Cette fonction prend chaque élément du tableau comme paramètre et renvoie une valeur cumulée. Nous pouvons utiliser l'opérateur de fusion de tableau "+" pour fusionner tous les tableaux en un seul tableau et utiliser la fonction array_reduce pour additionner les éléments de la même clé. Le code d'implémentation est le suivant :

$sums = array_reduce($array, function ($result, $subarray) {
  return $result + $subarray;
}, array());

print_r($sums);

Dans ce code, nous utilisons la fonction array_reduce pour parcourir chaque sous-tableau du tableau bidimensionnel. Au cours de chaque itération, nous fusionnons tous les tableaux en un seul tableau en utilisant l'opérateur de fusion de tableaux "+". Enfin, nous produisons les résultats renvoyés pour voir les résultats.

La troisième méthode consiste à utiliser la fonction array_walk_recursive. Cette fonction effectue un rappel pour chaque élément d'un tableau multidimensionnel. Nous pouvons utiliser cette fonction pour opérer sur chaque élément du tableau à deux dimensions. Le code d'implémentation est le suivant :

$sums = array();

array_walk_recursive($array, function ($value, $key) use (&$sums) {
  if (isset($sums[$key])) {
    $sums[$key] += $value;
  }
  else {
    $sums[$key] = $value;
  }
});

print_r($sums);

Dans ce code, nous créons d'abord un nouveau tableau nommé $sums. Nous utilisons la fonction array_walk_recursive pour effectuer un rappel pour chaque élément du tableau bidimensionnel, tel que la valeur et la clé de l'élément actuellement parcouru. Dans chaque rappel, nous vérifions si la clé actuelle existe déjà dans $sums, puis ajoutons sa valeur à la valeur existante ou l'ajoutons à $sums. Enfin, nous imprimons les $sums pour voir les résultats.

Pour résumer, nous pouvons utiliser différentes manières telles que des boucles, des fonctions et des fonctions de rappel pour additionner les mêmes éléments dans un tableau bidimensionnel en PHP. Cela dépend de vos besoins et préférences spécifiques. Quelle que soit la méthode que vous utilisez, vous pouvez facilement gérer diverses opérations sur des tableaux à deux dimensions grâce à une utilisation judicieuse des fonctions intégrées de PHP.

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