温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-04-13 15:28:44 来源:亿速云 阅读:494 作者:iii 栏目:编程语言

这篇文章主要介绍“php如何判断是一维数组还是二维数组”,在日常操作中,相信很多人在php如何判断是一维数组还是二维数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何判断是一维数组还是二维数组”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

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

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

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

<?php
header('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参数示例:

<?php
header("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如何判断是一维数组还是二维数组

到此,关于“php如何判断是一维数组还是二维数组”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI