Maison > Article > développement back-end > Comment déterminer la profondeur d’un tableau PHP multidimensionnel ?
Les tableaux PHP peuvent contenir des tableaux imbriqués, créant des structures hiérarchiques complexes. Déterminer la profondeur maximale d'imbrication au sein de ces tableaux peut être essentiel pour l'analyse et la manipulation des données.
Une approche pour déterminer la profondeur d'un tableau consiste à parcourir ses éléments de manière récursive , en comptant le nombre de niveaux. La fonction suivante, array_degree(), prend un tableau en entrée et calcule sa profondeur maximale :
function array_depth($array) { $max_depth = 0; foreach ($array as $element) { if (is_array($element)) { $depth = $array_depth($element); if ($depth > $max_depth) { $max_depth = $depth; } } } return $max_depth + 1; }
Dans cette fonction :
Une autre méthode évite le problème potentiel d'une récursivité infinie. Il utilise l'indentation dans la sortie de print_r(), qui reflète la structure du tableau. La fonction array_degree() ci-dessous utilise cette approche :
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; }
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!