Les fonctions de regroupement de tableaux PHP peuvent être utilisées pour créer des structures hiérarchiques en regroupant les éléments du tableau en fonction de clés spécifiées, générant ainsi des tableaux avec plusieurs niveaux d'imbrication. L'exemple de code utilise array_group_by() pour regrouper les données, puis les convertit en hiérarchie à l'aide de la fonction récursive createHierarchy(). Cette fonction parcourt les résultats regroupés, crée des sous-niveaux basés sur parent_id et renvoie finalement un tableau imbriqué avec une belle structure hiérarchique.
Application de la fonction de regroupement de tableaux PHP dans la création d'une structure hiérarchique
La fonction de regroupement de tableaux est très utile pour traiter des scénarios où la hiérarchie des données doit être maintenue. En PHP, la fonction array_group_by
peut créer des tableaux imbriqués à plusieurs niveaux en regroupant les éléments dans un tableau en fonction d'une clé spécifiée. array_group_by
函数可以将数组中的元素根据指定键进行分组,从而创建具有多个级别的嵌套数组。
代码示例
<?php // 有一个包含 id 和 parent_id 的表数据 $tableData = [ ['id' => 1, 'parent_id' => null], ['id' => 2, 'parent_id' => 1], ['id' => 3, 'parent_id' => 2], ['id' => 4, 'parent_id' => 1], ['id' => 5, 'parent_id' => 4], ]; // 根据 parent_id 对表数据进行分组 $groupedData = array_group_by($tableData, 'parent_id'); // 递归函数用于将分组结果转换为层级结构 function createHierarchy($data, $parentId = null) { $result = []; foreach ($data as $id => $values) { if ($id == $parentId) { foreach ($values as $value) { $result[] = [ 'id' => $value['id'], 'value' => $value['value'], 'children' => createHierarchy($data, $value['id']), ]; } return $result; } } } // 将分组数据转换为层级结构 $hierarchy = createHierarchy($groupedData, null); // 打印层级结构 print_r($hierarchy);
输出结果
Array ( [0] => Array ( [id] => 1 [value] => 1 [children] => Array ( [0] => Array ( [id] => 2 [value] => 2 [children] => Array ( [0] => Array ( [id] => 3 [value] => 3 [children] => Array ( ) ) ) ) [1] => Array ( [id] => 4 [value] => 4 [children] => Array ( [0] => Array ( [id] => 5 [value] => 5 [children] => Array ( ) ) ) ) ) ) )
在这个示例中,createHierarchy
createHierarchy
utilise un algorithme récursif pour parcourir les données groupées et créer des hiérarchies enfants basées sur parent_id. En fin de compte, il renvoie un tableau PHP imbriqué avec une belle structure hiérarchique. 🎜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!