Étant donné un tableau PHP contenant des lignes 2D avec des colonnes spécifiques, une tâche courante consiste à regrouper les lignes en fonction sur une colonne particulière et agréger les valeurs d'une autre colonne.
Par exemple, considérons le tableau suivant :
<code class="php">[ ['url_id' => 2191238, 'time_spent' => 41], ['url_id' => 2191606, 'time_spent' => 215], ['url_id' => 2191606, 'time_spent' => 25] ]</code>
L'objectif est de calculer la somme de la colonne "time_spent" pour chaque valeur unique dans la colonne "url_id". Une solution possible consiste à utiliser une boucle pour parcourir le tableau :
<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>
Après avoir traité l'intégralité du tableau, le tableau $ts_by_url contiendra la somme de "time_spent" pour chaque "url_id" unique :
<code class="php">2191238 => 41 2191606 => 240 // == 215 + 25</code>
Cette approche regroupe efficacement les lignes par "url_id" et agrège les valeurs "time_spent". Il exploite la nature associative de PHP pour stocker et mettre à jour efficacement les valeurs basées sur la clé "url_id".
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!