Comment puis-je calculer la profondeur des tableaux imbriqués en PHP ?

Patricia Arquette
Libérer: 2024-11-08 05:05:01
original
663 Les gens l'ont consulté

How Can I Calculate the Depth of Nested Arrays in PHP?

Détermination de la profondeur des tableaux imbriqués en PHP

Les tableaux sont une structure de données polyvalente en PHP, permettant de stocker des éléments dans d'autres tableaux. Cette fonctionnalité permet une organisation complexe des données, mais il peut être difficile de déterminer le niveau maximum d'imbrication d'un tableau dans une structure donnée.

Pour résoudre ce problème, une fonction peut être conçue pour calculer la profondeur d'un tableau, indiquant la niveau maximum de tableaux imbriqués. Si le tableau ne contient aucun tableau imbriqué, il renvoie 1 ; s'il contient un ou plusieurs tableaux imbriqués, il renvoie 2 ; et ainsi de suite.

Solution alternative pour une récursion infinie :

Une approche pour trouver la profondeur du tableau consiste à utiliser print_r() pour vérifier la récursivité infinie. Cette fonction génère une représentation sous forme de chaîne d'un tableau, et son indentation de sortie peut révéler la profondeur de la structure.

function array_depth($array) {
    $max_indentation = 1;

    $array_str = print_r($array, true);
    $lines = explode("\n", $array_str);

    foreach ($lines as $line) {
        $indentation = (strlen($line) - strlen(ltrim($line))) / 4;

        if ($indentation > $max_indentation) {
            $max_indentation = $indentation;
        }
    }

    return ceil(($max_indentation - 1) / 2) + 1;
}
Copier après la connexion

Cette solution fournit une détermination précise de la profondeur du tableau, évitant les pièges potentiels associés aux fonctions récursives.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!