ホームページ  >  記事  >  バックエンド開発  >  2D 配列の行を列ごとにグループ化し、別の列を合計するにはどうすればよいですか?

2D 配列の行を列ごとにグループ化し、別の列を合計するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-27 03:31:03576ブラウズ

How to Group 2D Array Rows by Column and Sum Another Column?

2D 配列の行を列ごとにグループ化し、別の列を合計する

特定の列に基づいて 2D 配列からグループ化および合計された結果を取得するには

<code class="php">// Assume we have an array $array containing the data as described in the question.

$ts_by_url = array();

foreach ($array as $data) {
    if (!array_key_exists($data['url_id'], $ts_by_url)) {
        $ts_by_url[$data['url_id']] = 0;
    }
    $ts_by_url[$data['url_id']] += $data['time_spent'];
}</code>

ループは配列を反復処理し、$ts_by_url 配列内の各一意の URL ID に費やされた時間を累積します。ループの終わりまでに、$ts_by_url 配列にはグループ化および合計された結果が含まれます。キーは URL ID を表し、値は各 URL ID に費やされた合計時間を表します。

出力例:

<code class="php">print_r($ts_by_url);
// Output:
// Array
// (
//     [2191238] => 41
//     [2191606] => 240 // == 215 + 25
// )</code>

以上が2D 配列の行を列ごとにグループ化し、別の列を合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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