Maison > Article > développement back-end > Comment regrouper un tableau 2D par valeur de colonne dans un tableau 3D ?
En programmation, il est souvent nécessaire de manipuler et d'organiser efficacement les structures de données. Le regroupement de données en fonction de critères spécifiques est une tâche courante. Cet article explique comment regrouper un tableau 2D à l'aide d'une valeur de colonne pour créer un tableau 3D.
Considérez le tableau 2D suivant :
[ ['cust' => 'XT8900', 'type' => 'standard', 'level' => 1], ['cust' => 'XT8944', 'type' => 'standard', 'level' => 1], ['cust' => 'XT8922', 'type' => 'premier', 'level' => 3], ['cust' => 'XT8816', 'type' => 'permier', 'level' => 3], ['cust' => 'XT7434', 'type' => 'standard', 'level' => 7], ]
Notre objectif est de regrouper ces données par ' "level", qui crée effectivement un tableau 3D. Le résultat souhaité ressemble à ceci :
Array ( [1] => Array ( [0] => Array ( [cust] => XT8900 [type] => standard ) [1] => Array ( [cust] => XT8944 [type] => standard ) ) [3] => Array ( [2] => Array ( [cust] => XT8922 [type] => premier ) [3] => Array ( [cust] => XT8816 [type] => permier ) ) [7] => Array ( [4] => Array ( [cust] => XT7434 [type] => standard ) ) )
Approche optimale
La solution la plus efficace consiste à créer le tableau 3D directement si possible. Cependant, si cela n'est pas réalisable, nous pouvons utiliser un tableau temporaire intermédiaire pour le tri :
<code class="php">foreach ($input_arr as $key => &$entry) { $level_arr[$entry['level']][$key] = $entry; }</code>
Il en résulte la structure de tableau 3D souhaitée. Il est important d'envisager de construire le tableau au format final dès le début si possible, pour des performances optimales.
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!