php判断数组是一维、二维、还是多维方法

有时我们的数组是动态生成了,我们也不知道数组是几维的,下面我来给各位同学介绍php判断数组是一维、二维、还是多维方法,有需要了解的朋友可进入参考。

例一代码如下:

  1. <?php
  2. /**
  3. * 返回数组的维度
  4. * @param [type] $arr [description]
  5. * @return [type] [description]
  6. */
  7. function arrayLevel($arr){
  8. $al = array(0);
  9. function aL($arr,&$al,$level=0){
  10. if(is_array($arr)){
  11. $level++;
  12. $al[] = $level;
  13. foreach($arr as $v){
  14. aL($v,$al,$level);
  15. }
  16. }
  17. }
  18. aL($arr,$al);
  19. return max($al);
  20. }
  21. ?>

例二,可以判断是一维的,还是二维的,或是几维的数组,代码如下:

  1. function getmaxdim($vDim)
  2. {
  3. if(!is_array($vDim)) return 0;
  4. else
  5. {
  6. $max1 = 0;
  7. foreach($vDim as $item1)
  8. {
  9. $t1 = $this->getmaxdim($item1);
  10. if( $t1 > $max1) $max1 = $t1;
  11. }
  12. return $max1 + 1;
  13. }
  14. }
  15. 验证过可以使用.
  16. //测试
  17. $arr=array('yiyi'=>1212,'haha'=>array('heihei'=>array(array("a")),"b"));
  18. echo getmaxdim($arr);
  19. //结果
  20. 4