Maison > développement back-end > tutoriel php > Comment déterminer la profondeur d'imbrication maximale d'un tableau PHP ?

Comment déterminer la profondeur d'imbrication maximale d'un tableau PHP ?

Patricia Arquette
Libérer: 2024-11-27 12:17:15
original
593 Les gens l'ont consulté

How Do You Determine the Maximum Nesting Depth of a PHP Array?

Détermination de la profondeur d'un tableau en PHP

De nombreux tableaux PHP contiennent des tableaux intégrés, créant des structures imbriquées. Déterminer la profondeur d'imbrication maximale d'un tableau peut donner un aperçu de sa complexité.

Échantillon de tableau :

$array = [
    'level1' => 'value1',
    'level2' => [
        'level3' => [
            'level4' => 'value4',
        ],
    ],
];
Copier après la connexion

Trouver la profondeur d'un tableau à l'aide de l'indentation :

Une approche pour calculer la profondeur du tableau consiste à exploiter la sortie de print_r(). Cette fonction fournit une représentation hiérarchique de la structure du tableau :

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

    $max_indentation = 1;

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

    return ceil(($max_indentation - 1) / 2) + 1;
}

echo array_depth($array); // Output: 4
Copier après la connexion

Cette fonction calcule le niveau d'indentation maximum du tableau. La formule ceil(($max_indentation - 1) / 2) 1 convertit les niveaux d'indentation en profondeur de tableau.

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