Heim  >  Artikel  >  Backend-Entwicklung  >  So summieren Sie identische Elemente in einem 2D-Array in PHP

So summieren Sie identische Elemente in einem 2D-Array in PHP

PHPz
PHPzOriginal
2023-04-25 09:04:231192Durchsuche

In PHP ist ein zweidimensionales Array eine sehr häufige Datenstruktur. Es besteht aus mehreren eindimensionalen Arrays und speichert relativ komplexe Datenstrukturen. Wenn es um die Operation zweidimensionaler Arrays geht, ist es manchmal notwendig, die gleichen Elemente zu summieren. In diesem Artikel erfahren Sie, wie Sie identische Elemente in einem zweidimensionalen Array in PHP summieren.

Zunächst müssen wir verstehen, was ein zweidimensionales Array ist. Ein zweidimensionales Array ist ein Array, in dem jedes Element ein Array ist. Wir können ein zweidimensionales Array wie folgt definieren:

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

Hier definieren wir ein zweidimensionales 3x3-Array. Unter diesen hat jedes Unterarray die gleiche Anzahl von Elementen und ist in einer bestimmten Reihenfolge angeordnet. Als nächstes lernen wir, wie man identische Elemente in diesen Subarrays summiert.

Die erste Methode besteht darin, eine foreach-Schleife zu verwenden. Wir können jedes Unterarray im 2D-Array durchlaufen und eine weitere foreach-Schleife verwenden, um jedes Element im Unterarray zu durchlaufen und schließlich alle gleichen Elemente zu summieren. Der Implementierungscode lautet wie folgt:

$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);

In diesem Code erstellen wir zunächst ein neues Array mit dem Namen $sums. Wir verwenden eine Doppelschleife, um jedes Unterarray im 2D-Array und jedes Element in jedem Unterarray zu durchlaufen. Für jedes Element prüfen wir, ob es bereits in $sums vorhanden ist. Wenn ja, fügen Sie den ursprünglichen Wert zum Element hinzu. Wenn nicht, fügen Sie den Wert zu $sums hinzu. Zum Schluss drucken wir $sums aus, um die Ergebnisse zu sehen.

Die zweite Methode besteht darin, die Funktion array_reduce zu verwenden. Diese Funktion verwendet jedes Element im Array als Parameter und gibt einen kumulativen Wert zurück. Wir können den Array-Zusammenführungsoperator „+“ verwenden, um alle Arrays in einem Array zusammenzuführen, und die Funktion array_reduce verwenden, um Elemente desselben Schlüssels zu summieren. Der Implementierungscode lautet wie folgt:

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

print_r($sums);

In diesem Code verwenden wir die Funktion array_reduce, um jedes Unterarray im zweidimensionalen Array zu durchlaufen. Während jeder Iteration führen wir alle Arrays zu einem Array zusammen, indem wir den Array-Zusammenführungsoperator „+“ verwenden. Zum Schluss drucken wir die zurückgegebenen Ergebnisse aus, um die Ergebnisse anzuzeigen.

Die dritte Methode besteht darin, die Funktion array_walk_recursive zu verwenden. Diese Funktion führt einen Rückruf für jedes Element in einem mehrdimensionalen Array durch. Mit dieser Funktion können wir jedes Element im zweidimensionalen Array bearbeiten. Der Implementierungscode lautet wie folgt:

$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);

In diesem Code erstellen wir zunächst ein neues Array mit dem Namen $sums. Wir verwenden die Funktion array_walk_recursive, um für jedes Element im zweidimensionalen Array einen Rückruf durchzuführen, beispielsweise den Wert und den Schlüssel des aktuell durchlaufenen Elements. Bei jedem Rückruf prüfen wir, ob der aktuelle Schlüssel bereits in $sums vorhanden ist, und addieren dann seinen Wert zum vorhandenen Wert oder fügen ihn zu $sums hinzu. Zum Schluss drucken wir $sums aus, um die Ergebnisse zu sehen.

Zusammenfassend lässt sich sagen, dass wir in PHP verschiedene Methoden wie Schleifen, Funktionen und Rückruffunktionen verwenden können, um dieselben Elemente in einem zweidimensionalen Array zusammenzufassen. Es hängt von Ihren spezifischen Bedürfnissen und Vorlieben ab. Unabhängig davon, welche Methode Sie verwenden, können Sie mithilfe der in PHP integrierten Funktionen problemlos verschiedene Operationen an zweidimensionalen Arrays ausführen.

Das obige ist der detaillierte Inhalt vonSo summieren Sie identische Elemente in einem 2D-Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn