ホームページ >バックエンド開発 >PHPチュートリアル >PHP で 2D 配列の単一列の値を効率的に合計するにはどうすればよいですか?
2D 配列の 1 つの列の値の合計
関数を使用せずに、多次元配列の特定の列の値の合計を計算するにはforeach ループの場合は、次のメソッドの使用を検討してください:
PHP 5.5 ソリューションarray_column と array_sum を使用する:
$value = array_sum(array_column($arr, 'f_count'));
array_reduce を使用する代替ソリューション:
$value = array_reduce($arr, function ($carry, $item) { return $carry + $item['f_count']; }, 0);
これらのメソッドは、foreach ループの必要性を回避し、効率的な目的の列の値を合計する方法。
あるいは、次の方法もあります。フラット化された配列を返すようにクエリを変更します。
$query = "SELECT f_count from users WHERE gid=:gid"; ... $array = $stmt->fetchAll(\PDO::FETCH_COLUMN);
これにより、f_count 値のみを含む 1 次元配列が生成され、array_sum を使用して合計できます。
以上がPHP で 2D 配列の単一列の値を効率的に合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。