2D 配列の列の値を効率的に合計する
「f_count」フィールドと「uid」フィールドを持つユーザー データの配列を考えてみましょう。 foreach ループを使用せずに「f_count」列の値を合計するには、次の手法が効果的な解決策を提供します。
PHP バージョン 5.5 では、洗練された解決策を提供する array_column() 関数と array_sum() 関数を利用します。
$value = array_sum(array_column($arr, 'f_count'));
PHP 5.4 以降の別の効率的なアプローチでは、array_reduce() を匿名関数と組み合わせて使用します。 function:
$value = array_reduce($arr, function ($carry, $item) { return $carry + $item['f_count']; }, 0);
どちらの手法も反復ループを回避し、パフォーマンスが向上します。
あるいは、フラット化された配列を返すようにデータベース クエリを変更することで、さらなる処理の必要性を排除することもできます:
$query = "SELECT SUM(f_count) AS total_f_count FROM users WHERE gid=:gid";
このクエリは、f_counts の合計を含む単一行を返し、後続の配列操作をレンダリングします。不要です。
以上がPHP で 2D 配列の列の値を効率的に合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。