php解答:php怎么判断数组是否为二维数组

 所属分类:php教程

 浏览:273次-  评论: 0次-  更新时间:2022-09-26
描述:更多教程资料进入php教程获得。 两种判断方法:1、利用count()函数比较省略第二参数和不省略第二参数时,获取的长度是否一样即可,语法“co...
更多教程资料进入php教程获得。

两种判断方法:1、利用count()函数比较省略第二参数和不省略第二参数时,获取的长度是否一样即可,语法“count($arr)!=count($arr,1)”,返回值为true则是二维数组,反之则不是。2、用foreach语句循环遍历数组,在循环体中用is_array()判断元素值是否为数组类型,如果都不是则不是二维数组,如果有一个是则是二维数组。

php零基础到就业直播视频课:进入学习
程序员必备接口测试调试工具:立即使用

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

php判断数组是否为二维数组的两种方法

方法1:利用count()函数来判断

count()函数计算数组中的单元数目或对象中的属性个数

count ( mixed $var [, int $mode ] )

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

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

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

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

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

count($arr) != count($arr, 1)
  • 如果不相等(返回值为true),则是二维数组

  • 如果相等(返回值为false),则不是二维数组

<?php
header('content-type:text/html;charset=utf-8');   
$arr = array(1,array(2,4),6); 
var_dump($arr);
if (count($arr) != count($arr, 1)) {
    echo '是二维数组';
} else {
    echo '不是二维数组';
} 
?>

1.png

方法2:foreach语句+is_array()函数

  • 使用foreach语句循环遍历数组

  • 在循环体中,使用is_array()函数判断元素值是否为数组类型,如果都不是则不是二维数组,如果有一个是则是二维数组

<?php  
header("content-type:text/html;charset=utf-8");
$arr = array(1,2,3,4,5); 
var_dump($arr);
$con=0;
foreach($arr as $v){
	if(is_array($v)){
		$con=1;
		break;
	}else{
		$con=0;
	}
}
if($con==1){
	echo "是二维数组";
}else{
	echo "不是二维数组";
}

?>

2.png

推荐学习:《PHP视频教程》

以上就是php怎么判断数组是否为二维数组的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: php数组,php,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!