首页 >后端开发 >PHP问题 >php怎么判断数组元素均不为空

php怎么判断数组元素均不为空

青灯夜游
青灯夜游原创
2022-06-29 18:32:451968浏览

实现步骤:1、利用array_filter()函数过滤数组,将数组中的空元素删除,语法“array_filter(原数组)”,会返回一个过滤后的数组;2、利用count()函数获取原数组的长度和过滤后数组的长度;3、检查获取的两个数组长度是否相等,语法“原数组长度===过滤数组长度”,如果相等则数组元素均不为空,反之则有数组元素为空。

php怎么判断数组元素均不为空

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

在php中,可以利用array_filter()函数和count()判断数组元素均不为空。

实现思想:

  • 利用array_filter()函数将数组中的空元素删除

  • 利用count()函数获取原数组长度和处理后数组长度,判断两个长度是否相等

实现步骤:

1、利用array_filter()函数过滤数组,将数组中的空元素删除

array_filter()函数,也称为回调函数,是用于使用用户定义的函数来过滤数组的元素。它迭代数组中的每个值,将它们传递给用户定义的函数或回调函数。

当使用array_filter()函数来声明回调函数时,它会删除false值(空值),但是,如果未指定回调函数,则将删除数组中等于FALSE的所有值,例如空字符串或NULL值。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(11,&#39;&#39;,null,12,false,0); 
var_dump($arr);
$newarr = array_filter($arr); 
echo "过滤后的数组:";
var_dump($newarr);
?>

1.png

2、利用count()函数获取原数组的长度和过滤后数组的长度

$len1=count($arr);
$len2=count($newarr);

3、判断两个长度是否相等

  • 如果两个长度相等,则没有删除空元素,即数组元素均不为空

  • 如果两个长度不相等,则删除了空元素,即有数组元素为空

$len1=count($arr);
$len2=count($newarr);
if($len1===$len2){
	echo "数组元素均不为空值";
}
else{
	echo "有数组元素为空值";
}

实现示例代码:

<?php
header("Content-type:text/html;charset=utf-8");
function f($arr){
	$len1=count($arr);
	$newarr = array_filter($arr); 
	$len2=count($newarr);
	if($len1===$len2){
		echo "数组元素均不为空值<br>";
	}else{
		echo "有数组元素为空值<br>";
	}
}


$arr1 = array(11,&#39;&#39;,null,12,false,0); 
var_dump($arr1);
f($arr1);

$arr2 = array(1,2,3,4,5,6); 
var_dump($arr2);
f($arr2);
?>

2.png

推荐学习:《PHP视频教程

以上是php怎么判断数组元素均不为空的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn