1、本次仅代表个人意见,不喜勿喷
2、以下代码使用到的知识点包括,函数递归调用,数组去重,数组排序,以及数组遍历
3、本次测试了三个例子,例子的结果见程序后附图
/**************************** 代码开始 begin*************************************/
<?php
/***
*@author biking
*@time 21015-11-18
*@function 获取数组的维数
*/
function getArrayNum($array,$n,&$num){
if(!is_array($array)){
return ;
}
foreach($array as $val){
if(is_array($val)){
$tmpn = $n+1;
getArrayNum($val, $tmpn,$num);//递归调用
}else{
array_push($num,$n);
continue;
}
}
}
/************************测试例子*********************/
//$myarray = array(1,2,array(11,22),3,array(33,44,array(111,222,333)));//例子1
//$myarray = "hello";//例子2
$myarray = array(2,3,array('hei','this'));//例子3
$num = array();
getArrayNum($myarray, 1,$num);//首次调用
if(empty($num)){//进行判断
echo "<meta charset='utf-8' />不是数组!";
die();
}
//数组去重
array_unique($num);
//升序排序
sort($num);
//输出测试的数组的维数
echo "<meta charset='utf-8' />该例子的数组维数是:".$num[count($num)-1];
/**************************** 代码结束 end*************************************/
例子1结果
例子2结果
不是数组
例子3结果
广告 您可能关注的内容 |