特定の列を含む 2D 行を含む PHP 配列が与えられた場合、一般的なタスクは、行をグループ化することです。特定の列の値を集計し、別の列の値を集計します。
たとえば、次の配列について考えてみます。
<code class="php">[ ['url_id' => 2191238, 'time_spent' => 41], ['url_id' => 2191606, 'time_spent' => 215], ['url_id' => 2191606, 'time_spent' => 25] ]</code>
目的は、それぞれの「time_spent」列の合計を計算することです。 「url_id」列の一意の値。考えられる解決策の 1 つは、ループを使用して配列を反復処理することです:
<code class="php">$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」ごとに「time_spent」の合計が含まれます:
<code class="php">2191238 => 41 2191606 => 240 // == 215 + 25</code>
このアプローチでは、行を「url_id」で効果的にグループ化し、「time_spent」値を集計します。 PHP の連想配列の性質を利用して、「url_id」キーに基づいて値を効率的に保存および更新します。
以上がPHP で 2D 配列の行を 1 つの列でグループ化し、別の列を集計する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。