有時我們的數組是動態生成了,我們也不知道數組是幾維的,下面我來給各位同學介紹php判斷數組是一維、二維、還是多維方法,有需要了解的朋友可進入參考。
列一
<?php
/**
* 返回數組的維度
* @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