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

作者:袖梨 2022-06-24


列一

 代码如下 复制代码

/**

 * 返回数组的维度

 * @param  [type] $arr [description]

 * @return [type]      [description]

 */

function arrayLevel($arr){

    $al = array(0);

    function aL($arr,&$al,$level=0){

        if(is_array($arr)){

            $level++;

            $al[] = $level;

            foreach($arr as $v){

                aL($v,$al,$level);

            }

        }

    }

    aL($arr,$al);

    return max($al);

}

?>

例二

可以判断是一维的,还是二维的,或是几维的数组:

 代码如下 复制代码

function getmaxdim($vDim)
        {
                if(!is_array($vDim)) return 0;
                else
                {
                        $max1 = 0;
                        foreach($vDim as $item1)
                        {
                            $t1 = $this->getmaxdim($item1);
                            if( $t1 > $max1) $max1 = $t1;
                        }
                        return $max1 + 1;
                }
        }

验证过可以使用.

//测试
$arr=array('yiyi'=>1212,'haha'=>array('heihei'=>array(array("a")),"b"));
echo getmaxdim($arr);
//结果
4

相关文章

精彩推荐