Maison > Article > développement back-end > Comment regrouper et additionner des données dans un tableau 2D par colonne en PHP ?
Regrouper et additionner les données d'un tableau 2D par colonnes
Dans ce scénario de programmation, l'objectif est de regrouper les lignes d'un tableau 2D par colonne valeurs (par exemple, « dd ») et additionnez ensuite les valeurs d'une autre colonne (« quantité ») au sein de chaque groupe. Le résultat est un tableau 2D réduit avec des valeurs « dd » uniques et des informations de quantité agrégées.
Exemple :
Considérez le tableau d'entrée suivant :
[ ['quantity' => 5, 'dd' => '01-Nov-2012'], ['quantity' => 10, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 4, 'dd' => '03-Nov-2012'], ['quantity' => 15, 'dd' => '03-Nov-2012'], ]
Le tableau de sortie souhaité serait :
[ ['quantity' => 15, 'dd' => '01-Nov-2012'], ['quantity' => 3, 'dd' => '02-Nov-2012'], ['quantity' => 19, 'dd' => '03-Nov-2012'], ]
Solution utilisant PHP :
Pour réaliser cette transformation de données, nous pouvons utiliser les tableaux intégrés de PHP et capacités de bouclage :
// Input array $in = array(array()); // Create output array $out = array(); // Iterate through input rows foreach ($in as $row) { // Check if 'dd' key exists in output array if (!isset($out[$row['dd']])) { // Initialize entry for 'dd' with empty quantity $out[$row['dd']] = array( 'dd' => $row['dd'], 'quantity' => 0, ); } // Accumulate quantity for 'dd' key $out[$row['dd']]['quantity'] += $row['quantity']; } // Adjust output array to numerical indexing $out = array_values($out); // Display output array var_dump($out);
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!