Determinación de la profundidad de los arreglos anidados en PHP
Los arreglos son una estructura de datos versátil en PHP, que permite almacenar elementos dentro de otros arreglos. Esta característica permite una organización de datos compleja, pero puede resultar complicado determinar el nivel máximo de anidamiento de una matriz dentro de una estructura determinada.
Para abordar esto, se puede idear una función que calcule la profundidad de una matriz, indicando la nivel máximo de matrices anidadas. Si la matriz no contiene ninguna matriz anidada, devuelve 1; si contiene uno o más arreglos anidados, devuelve 2; y así sucesivamente.
Solución alternativa para recursividad infinita:
Un enfoque para encontrar la profundidad de la matriz es utilizar print_r() para verificar la recursividad infinita. Esta función genera una representación de cadena de una matriz y su sangría de salida puede revelar la profundidad de la estructura.
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; }
Esta solución proporciona una determinación precisa de la profundidad de la matriz, evitando los posibles problemas asociados con las funciones recursivas.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3