这篇文章主要介绍了PHP实现判断数组是一维、二维或几维的方法,涉及php递归操作及数组相关判定技巧,需要的朋友可以参考下

本文实例讲述了PHP实现判断数组是一维、二维或几维的方法。分享给大家供大家参考,具体如下:

这里使用的自定义函数,可以判断数组是一维的,还是二维的,或是几维的数组: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

下面的代码也会判断数组是几维的数组,需要的朋友可以参考一下<?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);

}

?>

php判断几维数组的方法,php如何判断数组是几维的?相关推荐

  1. 重写数组的方法(改变原数组)

    下图是我自我学习模拟数组时总结的一些重新数组的方法: 本文我们暂不讨论不改变原数组的方法,只谈改变原数组用到的 6 种方法. 改变原数组的方法 push() 按参数顺序向数组尾部添加元素,返回新数组的 ...

  2. html设置数组的方法,js改变原数组的方法有哪些?

    js改变原数组的方法 1.pop() pop():删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值.如果数组已经为空,则 pop() 不 改变数组,并返回 un ...

  3. java 数组定义方法_java中定义数组的方法有哪些

    java中定义数组的方法有哪些 发布时间:2020-06-25 18:10:36 来源:亿速云 阅读:130 作者:Leah 这篇文章运用简单易懂的例子给大家介绍java中定义数组的方法,代码非常详细 ...

  4. php判断几维数组的方法,php如何判断数组是几维

    php判断数组是几维的方法:首先创建一个PHP示例文件:然后定义一个getmaxdim方法:接着通过foreach循环遍历的方法判断数组是几维的:最后通过echo输出判断结果即可. 这里使用的自定义函 ...

  5. js判断数组的方法(JavaScript判断数组的方法,7种),实操详细

    var arr = [ ]; 1.实例的__proto__属性(IE不支持) arr.__proto__ === Array.prototype //true 2.实例的constructor属性 a ...

  6. 【原生】封装一个判断数据类型的函数的方法,准确判断一个数据的类型

    // 判断一个数据类型的函数封装的方法,obj是用来接收传入的参数的function gettype(obj) {var type = typeof obj;if (type !== 'object' ...

  7. 字符串对象转数组对象_js对象转数组的方法 js怎么将数组对象转变成字符串

    只需要一句,arr.__proto__=[];但是要注意浏览器支持__proto__才行,最新的浏览器应该都支持. 以下两种都可以解决此问题: function transform(obj){ var ...

  8. cstring判断包含字符串_Python字符串方法之-解决判断问题

    19.endswith() 描述:判断字符串是否以指定字符或子字符串结尾. 语法:str.endswith("suffix", start, end) 或str[start,end ...

  9. Java数组在方法区吗,Java数组的操作方法

    遍历 使用for循环遍历数组/取出数组的值 例子1,使用普通的for循环遍历数组并取出数组的值与索引: public class Test { public static void main(Stri ...

最新文章

  1. 微信是把“杀猪刀”,还改变了我的表情包
  2. 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)”
  3. python库迁移到没有网的电脑_关于换机器后python库的迁移-偷懒做法
  4. 根据表中的时间戳字段统计每天数据的数量
  5. 蓝桥杯练习系统习题-算法训练5
  6. django models索引_Django开发者常犯的7种错误
  7. 如何备份和还原 Outlook Express 数据
  8. java声明公共构造函数_确保控制器具有无参数的公共构造函数错误
  9. 23岁女子搬家途中跳车身亡!货拉拉官方回应......
  10. 那么多GAN哪个好?谷歌大脑泼来冷水:都和原版差不多 | 论文
  11. 167.两数之和II-输入有序数组
  12. 别觉得自己PS很牛,看完这位俄罗斯大神作品后,会觉得只是小牛牛
  13. mysql 断开的管道_java.net.SocketException: 断开的管道 (Write failed) 错误,数据库隔一段时间就断开的问题...
  14. 用R对Twitter用户的编程语言语义分析
  15. linux 4.6发布时间,Linux Kernel 4.6的第4个维护版本发布
  16. 颜色值透明度的百分数对应十六进制表
  17. 10款常用的原型设计工具,包含一键生成原型工具
  18. Android SpannableString详细解析
  19. 对症下药 硬盘坏道检测与修复全攻略(组图)
  20. 流水账php,11-12流水账

热门文章

  1. git pull 配置免密_git pull设置为无需密码
  2. 【论文笔记】FaceNet--Google的人脸识别
  3. android 设置状态栏
  4. Synchronization 同步
  5. 续:遭遇www.6781.com劫持浏览器和Worm.Snake.a等
  6. getaddrinfo getnameinfo
  7. oracle数据库常驻内存,oracle如何让表常驻内存?
  8. Cocos游戏引擎,让小保安成就大梦想
  9. LTDC-DMA2D液晶显示原理(一)
  10. Spring Boot 微信点餐开源系统!