Maison > Article > développement back-end > Comment regrouper des sous-tableaux et formater les valeurs par colonne en PHP ?
Regrouper les sous-tableaux par colonne, formater les valeurs d'une autre colonne au sein des groupes
Dans un tableau donné où chaque sous-tableau se compose de deux colonnes, la tâche consiste à regrouper les sous-tableaux par la deuxième colonne et à créer un nouveau tableau où chaque groupe a les valeurs de la première colonne concaténées avec des virgules et la deuxième colonne comme deuxième valeur.
Par exemple, un tableau d'entrée comme :
$array = [ ["444", "0081"], ["449", "0081"], ["451", "0081"], ["455", "2100"], ["469", "2100"] ];
doit être transformé en :
array ( 0 => array ( 0 => '444,449,451', 1 => '0081', ), 1 => array ( 0 => '455,469', 1 => '2100', ), )
Solution :
Une approche simple pour y parvenir est la suivante :
<code class="php">// Create an empty array to store the grouped data $groups = []; // Loop through the input array foreach ($array as $item) { // If the second column value is not yet a key in $groups, create an empty array for it if (!array_key_exists($item[1], $groups)) { $groups[$item[1]] = []; } // Add the first column value to the array at the corresponding key $groups[$item[1]][] = $item[0]; } // Initialize the new array with the desired structure $structured = []; // Loop through the groups foreach ($groups as $group => $values) { // Join the first column values with commas and add the group key as the second column $structured[] = [implode(',', $values), $group]; }</code>
Cette solution gère la transformation efficacement, aboutissant au résultat souhaité.
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!