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

如何快速的确定一个数组深度,下面有个不错的方法可以迅速确定php多维数组的深度,感兴趣的朋友可以参考下。

例如有一个多维数组:

  1. array(
  2. array(
  3. array(1,3,4),
  4. array(
  5. array(
  6. 1,2,3
  7. )
  8. )
  9. ),
  10. array(
  11. array(1,2),
  12. array(1)
  13. )
  14. )

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

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

  1. <?php
  2. function array_depth($array) {
  3. $max_depth = 1;
  4. foreach ($array as $value) {
  5. if (is_array($value)) {
  6. $depth = array_depth($value) + 1;
  7. if ($depth > $max_depth) {
  8. $max_depth = $depth;
  9. }
  10. }
  11. }
  12. return $max_depth;
  13. }
  14. $array = array( array("11"), array(),array( array(array("5", "6"), "7", "8")),array( array(array("5", "6"), "7", "8")), "9", "10");
  15. echo array_depth($array);
  16. ?>