ホームページ > データベース > mysql チュートリアル > 「foreach」ループを使用せずにPHPで2D配列の列の値を合計する方法は?

「foreach」ループを使用せずにPHPで2D配列の列の値を合計する方法は?

Linda Hamilton
リリース: 2024-12-13 12:08:11
オリジナル
573 人が閲覧しました

How to Sum a 2D Array Column's Values in PHP without `foreach` Loops?

Foreach ループを使用しない 2D 配列列の値の合計

PHP 5.4 では、配列の指定された列の値を合計することができます。 foreach ループに頼らない 2D 配列。

を検討してください。次の多次元配列:

Array (
    [0] => Array ( [f_count] => 1 [uid] => 105 )
    [1] => Array ( [f_count] => 0 [uid] => 106 )
    [2] => Array ( [f_count] => 2 [uid] => 107 )
    [3] => Array ( [f_count] => 0 [uid] => 108 )
    [4] => Array ( [f_count] => 1 [uid] => 109 )
    [5] => Array ( [f_count] => 0 [uid] => 110 )
    [6] => Array ( [f_count] => 3 [uid] => 111 )
)
ログイン後にコピー

「f_count」列の値を合計するには、array_column 関数と array_sum 関数を利用できます:

$value = array_sum(array_column($arr,'f_count'));
ログイン後にコピー

このメソッドは「f_count」を抽出します。 array_column を使用して配列の値を 1 次元配列に変換し、array_sum を使用してその配列内の値を合計すると、合計値は次のようになります。 7.

別の SQL クエリ形式を使用したい場合は、1 次元配列を返すようにクエリを変更できます。

$query = "SELECT SUM(f_count) AS f_count_sum FROM users WHERE gid=:gid";
...
$value = $stmt->fetchColumn();
ログイン後にコピー

このクエリは、「f_count_sum」という名前の 1 つの列を返します。 " すべての "f_count" 値の合計が含まれており、fetchColumn() を使用して直接アクセスできます。

以上が「foreach」ループを使用せずにPHPで2D配列の列の値を合計する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート