php如何判断是一维数组还是二维数组(php,编程语言)

时间:2024-05-03 14:08:33 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

在php中,可利用count()函数来判断,该函数能获取数组长度,如果省略第二个参数,将只获取一维的元素个数;因此只需要比较一下省略参数和不省略参数时,获取的长度是否一样即可,语法“count($arr)== count($arr,1)”。

php如何判断是一维数组还是二维数组

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

在php中,可利用count()函数来判断。

<?phpheader('content-type:text/html;charset=utf-8');$array=array("php",11,'',12,"",13,"green",2021,"mysql","14",15); if(count($array)==count($array,1)){ echo'是一维数组'; }else{ echo'是二维数组';}?>

php如何判断是一维数组还是二维数组

方案原理:

count ( mixed $var [, int $mode ] ) – 计算数组中的单元数目或对象中的属性个数

$mode:为可选参数,可以省略。

  • 如果省略 $mode 参数,或者将其设置为 COUNT_NORMAL 或者 0,count() 函数将不检测多维数组;

  • 如果 $mode 设置为 COUNT_RECURSIVE 或者 1,count() 函数将递归计算数组中元素的个数,对于计算多维数组的元素个数尤为有用。

如果省略 $mode 参数,count则不检测多维数组,将只获取一维的元素个数。

因此只需要比较一下省略$mode参数和不省略$mode参数时,获取的长度是否一样即可判断是一维数组还是二维数组。

  • $mode参数示例:

<?phpheader("Content-type:text/html;charset=utf-8");$arr=array("张三",25,array("高数","PHP教程","英语"),);//输出语句echo"数组长度为:".count($arr,1);echo"<br>不递归检测数组,长度为:".count($arr);?>

输出:

数组长度为:6不递归检测数组,长度为:3

看了上面的输出结果,是不是感到疑惑,数组中不是只有5个元素("张三"、25、"高数"、"PHP教程"、"英语")吗,为什么结果显示的数组长度不是5,而是6呢?

其实是因为,此时count()函数循环统计二维数组中的所有元素,“array("高数","PHP教程","英语")”会被当做一个整体统计一次,它里面的元素("高数"、"PHP教程"、"英语")又会被统计一次,所以最终结果为 6。

php如何判断是一维数组还是二维数组

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:php如何判断是一维数组还是二维数组的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Centos中双网卡绑定及相关问题怎么解决下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18