php判断一个多维数组当中有多少个n维数组?

php判断一个多维数组当中有多少个n维数组?... php判断一个多维数组当中有多少个n维数组? 展开
 我来答
朝阳072
2015-11-18 · TA获得超过216个赞
知道小有建树答主
回答量:152
采纳率:100%
帮助的人:145万
展开全部

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结果

l馒大头
2015-11-18 · 超过36用户采纳过TA的回答
知道答主
回答量:65
采纳率:100%
帮助的人:44.6万
展开全部
先使用foreach遍历,然后通过is_array函数判断是否为数组
$n=1;
foreach(array1 as $array2 )
if( is_array( $array2 ) ){
$n++;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式