Maison > Article > développement back-end > Comment regrouper les lignes d'un tableau associatif par valeur de colonne en PHP ?
Regroupement des lignes de tableaux associatifs par valeur de colonne
En programmation, vous pouvez rencontrer des situations où vous devez réorganiser les données stockées dans des tableaux associatifs. Une tâche courante consiste à regrouper les lignes du tableau par une valeur de colonne spécifique tout en préservant les clés de premier niveau d'origine.
Considérez le tableau associatif suivant de tableaux associatifs connu sous le nom de $old_arr :
[ 'a' => ['id' => 20, 'name' => 'chimpanzee'], 'b' => ['id' => 40, 'name' => 'meeting'], 'c' => ['id' => 20, 'name' => 'dynasty'], 'd' => ['id' => 50, 'name' => 'chocolate'], 'e' => ['id' => 10, 'name' => 'bananas'], 'f' => ['id' => 50, 'name' => 'fantasy'], 'g' => ['id' => 50, 'name' => 'football'] ]
L'objectif est de créer un nouveau tableau, $arr, où les lignes sont regroupées en fonction du champ id. Le tableau résultant devrait ressembler à ceci :
array ( 10 => array ( e => array ( id = 10, name = bananas ) ) 20 => array ( a => array ( id = 20, name = chimpanzee ) c => array ( id = 20, name = dynasty ) ) 40 => array ( b => array ( id = 40, name = meeting ) ) 50 => array ( d => array ( id = 50, name = chocolate ) f => array ( id = 50, name = fantasy ) g => array ( id = 50, name = football ) ) )
Pour y parvenir, vous pouvez suivre ces étapes :
Le code PHP fourni suit cette approche pour générer le résultat souhaité :
$arr = array(); foreach ($old_arr as $key => $item) { $arr[$item['id']][$key] = $item; } ksort($arr, SORT_NUMERIC);
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!