Comment convertir un tableau php en arborescence : 1. Créez un exemple de fichier PHP ; 2. Construisez une fonction avec la syntaxe "function buildTree(array $elements, $parentId = 0)" Le paramètre 1 est Pour le tableau à convertir, le paramètre 2 est le nœud racine spécifié ; 3. Définissez le tableau vide $branch dans la fonction pour stocker la structure arborescente et parcourez-le 4. Après le parcours, ajoutez les éléments modifiés au tableau $branch et ; return Utilisez simplement le tableau arborescent $branch.
Le système d'exploitation pour ce tutoriel : système Windows 10, version php8.1.3, ordinateur Dell G3.
Convertissez le tableau PHP en structure arborescente, ce qui peut être réalisé grâce à une méthode récursive.
Ce qui suit est un exemple de fonction PHP :
function buildTree(array $elements, $parentId = 0) { $branch = array(); foreach ($elements as $element) { if ($element['parent_id'] == $parentId) { $children = buildTree($elements, $element['id']); if ($children) { $element['children'] = $children; } $branch[] = $element; } } return $branch; }
Dans cette fonction, le paramètre $elements est le tableau à convertir, et $parentId est le nœud racine spécifié (la valeur par défaut est 0). La fonction définit d'abord un tableau vide nommé $branch pour stocker et parcourir l'arborescence.
Dans chaque boucle, la fonction vérifie si l'élément actuel a l'ID parent spécifié, et si c'est le cas, il s'agit d'un nœud enfant du nœud actuel. Il appelle ensuite sa propre fonction buildTree() pour ajouter des nœuds enfants et attribue les nœuds enfants à la variable $children. La fonction continue de vérifier si $children est vide et, dans le cas contraire, attribue le nœud enfant à la clé 'children' de l'élément actuel. Enfin, la fonction ajoute les éléments modifiés au tableau $branch.
Lorsque tous les éléments sont traités, la fonction renverra le tableau arborescent $branch.
Supposons que nous ayons les données suivantes :
$elements = [ ['id' => 1, 'name' => 'Parent 1', 'parent_id' => 0], ['id' => 2, 'name' => 'Child 1', 'parent_id' => 1], ['id' => 3, 'name' => 'Grandchild 1', 'parent_id' => 2], ['id' => 4, 'name' => 'Grandchild 2', 'parent_id' => 2], ['id' => 5, 'name' => 'Parent 2', 'parent_id' => 0], ];
Cette fonction peut être appelée pour générer une arborescence.
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!