确定 PHP 中嵌套数组的深度
数组是 PHP 中的通用数据结构,允许将元素存储在其他数组中。此功能支持复杂的数据组织,但确定给定结构内数组嵌套的最大级别可能具有挑战性。
为了解决这个问题,可以设计一个函数来计算数组的深度,指示数组的深度。嵌套数组的最大层数。如果数组不包含任何嵌套数组,则返回1;如果包含一个或多个嵌套数组,则返回 2;
无限递归的替代解决方案:
查找数组深度的一种方法是利用 print_r() 检查无限递归。该函数生成数组的字符串表示形式,其输出缩进可以揭示结构的深度。
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; }
该解决方案可以准确确定数组深度,避免与递归函数相关的潜在陷阱。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3