迅速确定php多维数组的深度的方法

yipeiwu_com6年前PHP代码库
例如有一个多维数组:
复制代码 代码如下:

array(
array(
array(1,3,4),
array(
array(
1,2,3
)
)
),
array(
array(1,2),
array(1)
)
)

这个数组的深度就是5,那么如何快速的确定一个数组深度。

(PS:T不错的PHP Q扣峮:276167802,验证:csl)

其实,只是上面的答案应该再进行排序就可以了。下面清源分享一个简单的计算深度函数:
复制代码 代码如下:

<?php
function array_depth($array) {
$max_depth = 1;


foreach ($array as $value) {
if (is_array($value)) {
$depth = array_depth($value) + 1;


if ($depth > $max_depth) {
$max_depth = $depth;
}
}
}
return $max_depth;
}

$array = array( array("11"), array(),array( array(array("5", "6"), "7", "8")),array( array(array("5", "6"), "7", "8")), "9", "10");
echo array_depth($array);
?>

希望本文对广大php开发者有所帮助,感谢您阅读本文。

相关文章

PHP中array_map与array_column之间的关系分析

本文以实例形式分析了PHP中array_map与array_column之间的关系,具体分析如下: array_map()与array_column()用法如下: array_map()...

改写函数实现PHP二维/三维数组转字符串

由于工作需要,自己在手册给定的示例函数基础上改写出了这样一个函数,代码如下: 复制代码 代码如下: //将多维数组中所有的数值转换成字符串————》最多支持三维数组 function i...

php获取今日开始时间和结束时间的方法

话不多说,请看代码:  $begintime=date("Y-m-d H:i:s",mktime(0,0,0,date('m'),date('d'),date('Y')))...

php empty,isset,is_null判断比较(差异与异同)

php empty,isset,is_null判断比较(差异与异同)

一、举例说明 A.一个变量没有定义,我们该怎么样去判断呢 复制代码 代码如下: <?php #不存在$test 变量 $isset= isset($test)?"test is d...

php地址引用(php地址引用的效率问题)

复制代码 代码如下: <?php echo 'begin time:'.$begin=microtime(false).'<br/>';//begin to count...