Maison > développement back-end > tutoriel php > Comment regrouper des lignes dans un tableau 2D par une colonne et additionner une autre colonne en PHP ?

Comment regrouper des lignes dans un tableau 2D par une colonne et additionner une autre colonne en PHP ?

Susan Sarandon
Libérer: 2024-10-26 09:57:03
original
520 Les gens l'ont consulté

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

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>
Copier après la connexion

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>
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal