ホームページ >バックエンド開発 >PHPチュートリアル >PHP で 2D 配列の列の値を効率的に合計するにはどうすればよいですか?

PHP で 2D 配列の列の値を効率的に合計するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-14 05:08:14593ブラウズ

How Can I Efficiently Sum the Values in a 2D Array's Column in PHP?

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 サイトの他の関連記事を参照してください。

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