Heim > Backend-Entwicklung > PHP-Tutorial > Wie summiert man Werte gemeinsam genutzter Schlüssel beim Zusammenführen mehrerer assoziativer Arrays?

Wie summiert man Werte gemeinsam genutzter Schlüssel beim Zusammenführen mehrerer assoziativer Arrays?

Patricia Arquette
Freigeben: 2024-11-09 18:08:02
Original
664 Leute haben es durchsucht

How to Sum Values of Shared Keys When Merging Multiple Associative Arrays?

Zusammenführen mehrerer flacher assoziativer Arrays mit Summierung gemeinsamer Schlüssel

Beim Kombinieren assoziativer Arrays mit der Funktion array_merge() werden Werte mit gemeinsamen Schlüsseln verknüpft werden eher ersetzt als summiert. Dies stellt eine Herausforderung dar, wenn versucht wird, die Werte gemeinsam genutzter Schlüssel aus mehreren assoziativen Arrays hinzuzufügen.

Um diese Hürde zu überwinden, kann man mehrere Ansätze verfolgen:

  • Foreach-Iteration mit Fehlerunterdrückung:
<code class="php">$sums = array();
foreach (array_keys($a1 + $a2) as $key) {
    $sums[$key] = (isset($a1[$key]) ? $a1[$key] : 0) + (isset($a2[$key]) ? $a2[$key] : 0);
}</code>
Nach dem Login kopieren
  • Anonyme Zuordnung:
<code class="php">$keys = array_fill_keys(array_keys($a1 + $a2), 0);
$sums = array_map(function ($a1, $a2) { return $a1 + $a2; }, array_merge($keys, $a1), array_merge($keys, $a2));</code>
Nach dem Login kopieren
  • Kombinative Lösung :
<code class="php">$sums = array_fill_keys(array_keys($a1 + $a2), 0);
array_walk($sums, function (&amp;$value, $key, $arrs) { $value = @($arrs[0][$key] + $arrs[1][$key]); }, array($a1, $a2));</code>
Nach dem Login kopieren
  • Benutzerdefinierte Funktion für eine beliebige Anzahl von Arrays:
<code class="php">function array_sum_identical_keys() {
    $arrays = func_get_args();
    $keys = array_keys(array_reduce($arrays, function ($keys, $arr) { return $keys + $arr; }, array()));
    $sums = array();

    foreach ($keys as $key) {
        $sums[$key] = array_reduce($arrays, function ($sum, $arr) use ($key) { return $sum + @$arr[$key]; });
    }
    return $sums;
}</code>
Nach dem Login kopieren

Diese Ansätze bieten flexible Lösungen zum Zusammenführen mehrerer assoziativer Arrays und zum Summieren der mit gemeinsam genutzten Schlüsseln verbundenen Werte.

Das obige ist der detaillierte Inhalt vonWie summiert man Werte gemeinsam genutzter Schlüssel beim Zusammenführen mehrerer assoziativer Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage