ホームページ バックエンド開発 PHPチュートリアル 連想配列を結合するときに共有キーの値を合計するにはどうすればよいですか?

連想配列を結合するときに共有キーの値を合計するにはどうすればよいですか?

Nov 03, 2024 pm 02:16 PM

How to Sum Values for Shared Keys When Merging Associative Arrays?

配列のマージと共有キー値の合計

共有キーに関連付けられた値を結合しながら、複数の連想配列をマージする必要が生じることがよくあります。デフォルトでは、提供された例に見られるように、配列を結合すると競合する値が上書きされます。これに対処するために、一意のキーを保持しながら共有キーの値を効果的に追加するさまざまなアプローチを紹介します。

配列中間体の使用:

1 つのアプローチは、配列の中間値を使用して手動で値を合計します。これには、マージされた配列のキーを反復処理し、入力配列全体で各キーの値を合計することが含まれます。

$sums = array();
foreach (array_keys($a1 + $a2) as $key) {
    $sums[$key] = (isset($a1[$key]) ? $a1[$key] : 0) + (isset($a2[$key]) ? $a2[$key] : 0);
}

マッピングとリダクション:

別の方法では、一意のキーごとにゼロ値を持つ中間配列を作成します。これらは元の配列とマージされ、マップされて合計が計算されます。

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

配列ウォーキング:

同様に、配列ウォーキングを使用して合計を計算できます。共有キーの場合。

$sums = array_fill_keys(array_keys($a1 + $a2), 0);
array_walk($sums, function (&$value, $key, $arrs) { $value = @($arrs[0][$key] + $arrs[1][$key]); }, array($a1, $a2));

動的パラメータを使用した再利用可能な関数:

最後に、無制限の数の配列を受け入れ、合計を計算する再利用可能な関数を作成できます。

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;
}

これらのソリューションは、複数の連想配列を結合し、共有キーの値の合計を計算する効率的な方法を提供し、さまざまなシナリオに柔軟性とコードの再利用性を提供します。

以上が連想配列を結合するときに共有キーの値を合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPで$ _Cookie変数を使用する方法 PHPで$ _Cookie変数を使用する方法 Aug 20, 2025 pm 07:00 PM

$ _COOKIEISAPHUPSUBLOBLOACCESSINGCOOKIESSENTBYTHESTHEBROWSER; CookiESARESETUSSETCOOKIE()beforeTput、readvia $ _cookie ['name']、updated byReshingWithNewvalues、およびdeletedBysettingAnexprideStampridectiCectiCESTAMPRAGTPRAGTPRAGTPRINESTIMESTAMPRAGTPRUCTIMESTAMPRINESTIMESTAMPRINESTIMESTAMPRINETIMESTAMPRINESTIMESTAM

PHPの配列の操作方法 PHPの配列の操作方法 Aug 20, 2025 pm 07:01 PM

phparrayshanddedatacollectionseffictifictlyusingindexorassociativeStructures; they recreated witharray()または[]、AccessedViakeys、ModifiedByAssignment、Iterated with foreach、およびmanipulatedUsingfunctionslikecount()、in_array()、Array_key_exists()、Array_exists()、Array_exists()、Array_key_exists()、Array_key_exists()、Array_key_exists()、

Ajax提出チュートリアル付きWordPressカスタム記事タイプボタンポップアップフォーム Ajax提出チュートリアル付きWordPressカスタム記事タイプボタンポップアップフォーム Aug 08, 2025 pm 11:09 PM

このチュートリアルでは、カスタム記事タイプリストのWordPressの各記事に「引用符を送信」ボタンを追加する方法に関する詳細な手順を提供します。クリックした後、記事IDを含むカスタムHTMLフォームがポップアップし、フォームデータはAJAXの提出と成功メッセージ表示です。コンテンツは、フロントエンドのjQuery UIポップアップ設定、動的データ転送、AJAX要求処理、バックエンドのWordPress Ajaxフックとデータ処理PHP実装をカバーし、完全な機能、安全で優れたユーザーエクスペリエンスを確保します。

PHPでのオブザーバーのデザインパターンとその実装について説明してください。 PHPでのオブザーバーのデザインパターンとその実装について説明してください。 Aug 15, 2025 pm 01:54 PM

theobserverdesignpatternablesablesはautomatic of dependentobjectswhenasubject'sstatechanges.1)itdefinesaone-to-manydependencybetweenobjects;

PHPの特性、抽象クラス、およびインターフェイスを実際のユースケースと比較対照します。 PHPの特性、抽象クラス、およびインターフェイスを実際のユースケースと比較対照します。 Aug 11, 2025 pm 11:17 PM

interfaceStodefinecontractsforunrelatedclasses、sulmentspecificmethodsを保証します

MySQL支援PHPアプリケーションのデータベースインデックス作成戦略(B-Tree、フルテキストなど)を説明します。 MySQL支援PHPアプリケーションのデータベースインデックス作成戦略(B-Tree、フルテキストなど)を説明します。 Aug 13, 2025 pm 02:57 PM

b-TreeindexeSareBestformostphpapplications、astheisupportequalityandrangequeries、sorting、andareidealforumnsuseduseduseduseduseduseduseduseds; ororderbyclauses;

Ajax提出ガイド付きWordPressカスタム記事ボタンポップアップフォーム Ajax提出ガイド付きWordPressカスタム記事ボタンポップアップフォーム Aug 08, 2025 pm 11:06 PM

このチュートリアルの詳細は、WordPressの各カスタム投稿タイプ(「不動産」など)のリスト項目に送信引用符を追加する方法と、クリックした後に特定の投稿IDを備えたカスタムHTMLフォームがポップアップします。この記事では、jQuery UIダイアログを使用してモーダルポップアップを作成し、記事IDをデータ属性を介して動的に渡す方法を取り上げ、WordPress AJAXメカニズムを使用してフォームの非同期提出を実装しながら、ファイルのアップロードを処理し、提出結果を表示し、シームレスなユーザーエクスペリエンスを提供します。

WordPressの各カスタム投稿ボタンにポップアップフォームとajax送信を実装する WordPressの各カスタム投稿ボタンにポップアップフォームとajax送信を実装する Aug 08, 2025 pm 10:57 PM

このチュートリアルでは、各カスタムポスト(「不動産」タイプなど)のスタンドアロンボタンにWordPressにポップアップ提出フォームを実装する方法に関する詳細な指示を提供します。 jQuery UIダイアログを使用してモーダルボックスを作成し、JavaScriptを介して記事IDを動的に渡します。さらに、このチュートリアルでは、Ajaxを介してフォームデータを送信し、ファイルのアップロードや結果のフィードバックなど、ページを更新せずにバックエンドロジックを処理する方法について説明します。

See all articles