多次元配列の列値の合計
質問:
どのように計算できますか多次元配列内の列値の合計。連想キーは次のとおりです。動的?
答え:
動的キーを使用して多次元配列内の列の値を合計するには、array_walk_recursive() を利用できます。これは、各内部配列が一意のキーを持つ場合の一般的な解決策を提供します。
$final = array(); array_walk_recursive($input, function($item, $key) use (&$final){ $final[$key] = isset($final[$key]) ? $item + $final[$key] : $item; });
特定のキーの場合は、PHP 5.5 以降で利用可能な array_column() が適切なオプションです。
array_sum(array_column($input, 'gozhi')); // for key 'gozhi'
同じキーを持つ列の合計を取得するには、最初の内部配列をベースとして抽出し、それぞれの値を合計します。 array_column() を使用してキーを取得し、それらをベースに追加します:
$final = array_shift($input); foreach ($final as $key => &$value){ $value += array_sum(array_column($input, $key)); } unset($value);
array_column() を使用した一般的な解決策については、最初にすべての一意のキーを取得し、次に、それぞれの合計を計算します:
$final = array(); foreach($input as $value) $final = array_merge($final, $value); foreach($final as $key => &$value) $value = array_sum(array_column($input, $key)); unset($value);
以上がPHPで動的キーを使用して多次元配列の列の値を合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。