迅速确定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 7新特性之类型申明详解

前言 PHP7 将类型申明变成了可能,PHP 7 支持的形参类型申明的类型有以下几种 整型 浮点型 字符串型 布尔类型 函数形参与返回类型声明demo 如下...

php实现的错误处理封装类实例

本文实例讲述了php实现的错误处理封装类。分享给大家供大家参考,具体如下: 1、创建MyErrorHandler.php文件 代码如下: <?php class MyE...

php中时间轴开发(刚刚、5分钟前、昨天10:23等)

其实这个没什么技术含量,当然就直接贴代码,不废话了, 但是在其实开发中还是蛮有用的,譬如论坛帖子,围脖等都有相关应用 复制代码 代码如下: function tranTime($time...

PHP魔术方法__GET、__SET使用实例

__get()  - 读取不可访问属性的值时,__get() 会被调用。 __set()  - 在给不可访问属性赋值时,__set() 会被调用。 复制代码 代码如下: <?...

PHP中的浅复制与深复制的实例详解

PHP中的浅复制与深复制的实例详解 前言: 最近温习了一下Design Pattern方面的知识,在看到Prototype Pattern这一设计模式时,注意到其中涉及到一个浅复制与深复...