Maison  >  Article  >  développement back-end  >  Comment convertir un tableau php en arborescence

Comment convertir un tableau php en arborescence

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2023-06-07 09:29:031244parcourir

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.

Comment convertir un tableau php en arborescence

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn