Maison > développement back-end > tutoriel php > Comment déterminer la profondeur des tableaux imbriqués en PHP ?

Comment déterminer la profondeur des tableaux imbriqués en PHP ?

Linda Hamilton
Libérer: 2024-11-07 14:52:02
original
1069 Les gens l'ont consulté

How to Determine the Depth of Nested Arrays in PHP?

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

Déterminer la profondeur d'imbrication maximale d'un tableau peut être un outil précieux lors de la gestion de structures de données complexes . En PHP, les tableaux peuvent contenir des tableaux en tant qu'éléments, créant une structure hiérarchique potentiellement profonde.

Détermination de la profondeur

Une méthode fiable pour calculer la profondeur d'un tableau imbriqué dans PHP consiste à utiliser print_r() pour analyser la sortie du tableau :

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

Dans cette méthode :

  • print_r() génère le tableau dans un humain -format lisible, avec des indentations indiquant l'imbrication des tableaux.
  • La sortie est divisée en lignes.
  • L'indentation de chaque ligne est calculée (en multiples de 4 espaces).
  • L'indentation maximale rencontrée représente le niveau d'imbrication le plus profond.
  • La profondeur est calculée en divisant par deux l'indentation maximale (arrondie), car chaque niveau d'imbrication introduit deux niveaux d'indentation (parenthèses ouvrantes et fermantes).

En implémentant cette fonction, vous pouvez déterminer efficacement la profondeur de n'importe quel tableau PHP, quelle que soit sa complexité.

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