检测步骤:1、定义一个数组并赋值为0,用于储存一维子数组的数量,语法“$num=0;”;2、使用foreach语句循环遍历二维数组的外层数组元素,语法“foreach($arr as $k => $v){//循环体代码}”;3、在循环体中,利用is_array()函数和“++”运算符来统计二维数组中一维子数组的数量,语法“if(is_array($v)){$num++;}”。

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

在php中,可以利用foreach语句和is_array()函数来统计二维数组中一维子数组的数量。

实现步骤:

步骤1:定义一个数组并赋值为0,用于储存一维子数组的数量

$num=0;

步骤2:使用foreach语句循环遍历二维数组的外层数组元素

foreach($arr as $k => $v){
//循环体代码
}
  • 遍历给定的 $arr 数组,在每次循环中会将当前数组的值赋给 $v,键名赋给 $k。

步骤3:在循环体中,利用is_array()函数和“++”运算符来统计二维数组中一维子数组的数量

使用is_array()函数检测当前元素是否为数组类型(即是否为一维子数组)

  • 如果是,则使用“++”运算符将$num变量的值加1

if(is_array($v)){
	$num++;
}

完整实现代码:

function f($arr){
	$num=0;
	foreach($arr as $v){
		if(is_array($v)){
			$num++;
		}
	}
	echo "一维子数组的数量为:".$num;
}

调用上面的f($arr)函数

$arr = array(1,2,3,array(4,5,6),7,8,array(9,10)); 
var_dump($arr);
f($arr);

1.png

$arr = array(array(2),array(4),array(6),array(8)); 
var_dump($arr);
f($arr);

2.png


说明:is_array()函数

in_array() 函数搜索数组中是否存在指定的值。语法格式:

in_array ( $search , $array ,$strict)
参数描述
search必需。规定要在数组搜索的值。
array必需。规定要搜索的数组。
strict 可选。如果该参数设置为 TRUE,则 in_array() 函数检查搜索的数据与数组的值的类型是否相同。

返回值:如果在数组中找到值则返回 TRUE,否则返回 FALSE。


php怎么检测二维数组中有几个一维子数组