Création d'un arbre de tableaux imbriqué à partir d'une liste de tableaux
Vous disposez d'un tableau d'éléments avec des relations parent-enfant et souhaitez le transformer en une arborescence de tableaux imbriquée. Voici une solution efficace :
# Create a new array indexed by parent ID $new = []; foreach ($arr as $a) { $new[$a['parentid']][] = $a; } # Start with the root node $tree = createTree($new, [$arr[0]]); # Recursive function to build the tree function createTree(&$list, $parent) { $tree = []; foreach ($parent as $l) { # If there are children, create children tree if (isset($list[$l['id']])) { $l['children'] = createTree($list, $list[$l['id']]); } # Add parent to the tree $tree[] = $l; } return $tree; }
Cet algorithme construit efficacement une arborescence de tableaux imbriqués basée sur les relations parent-enfant dans votre tableau d'origine.
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!