迅速确定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定义命令空间的几个注意点(推荐)

1.声明命令空间必须是程序脚本的第一条语句。另外,所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。 下面是错误的示例: <html> <?ph...

在同一窗体中使用PHP来处理多个提交任务

为什么使用多个提交任务? 在我回答这个问题之前,先让我回答一个很显然的问题:既然许多窗体更适合单一的提交按钮,为什么有时人们需要的是两个(或者是更多)的提交按钮? 对这一问题最好的解释方...

php实现检查文章是否被百度收录

php实现检查文章是否被百度收录

网站都有个后台,后台发表新闻与产品,发完后如果你要去查看该页面有没有被百度收录,还要通过第三方工具或直接去百度搜。最近在做SEO,每天都要查看前一天发的文章有没有被收录,就这个工作就是一...

深入讲解PHP的对象注入(Object Injection)

深入讲解PHP的对象注入(Object Injection)

前言 虽然这篇文章叫做PHP对象注入,但是本质上还是和PHP的序列化的不正确使用有关。如果你阅读了PHP中的SESSION反序列化机制对序列化就会有一个大致的认识。PHP对象注入其实本质...

探讨:parse url解析URL,返回其组成部分

parse_url(PHP 4, PHP 5)parse_url — 解析 URL,返回其组成部分说明array parse_url ( string $url )本函数解析一个 URL...