Regrouper les lignes d'un tableau 2D par une colonne et additionner une autre colonne
Pour regrouper les lignes d'un tableau 2D en fonction d'une colonne spécifique et en additionner une autre colonne, vous pouvez utiliser l'approche suivante :
Supposons que nous ayons un tableau comme celui-ci :
<code class="php">[ ['url_id' => 2191238, 'time_spent' => 41], ['url_id' => 2191606, 'time_spent' => 215], ['url_id' => 2191606, 'time_spent' => 25] ]</code>
Pour calculer la somme des valeurs time_spent pour chaque url_id unique, nous pouvons utiliser le PHP suivant code :
<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>
Dans ce code, nous parcourons le tableau et créons un tableau ($ts_by_url) qui est indexé par url_id. Pour chaque élément de données de la boucle, nous vérifions si son url_id existe dans $ts_by_url. Si ce n'est pas le cas, nous définissons sa valeur sur 0. Ensuite, nous incrémentons la valeur time_spent du time_spent dans l'élément de données actuel.
Une fois la boucle terminée, $ts_by_url contiendra les résultats souhaités :
2191238 => 41 2191606 => 240 // == 215 + 25
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!