实现步骤:1、利用array_filter()函数过滤数组,将数组中的空元素删除,语法“array_filter(原数组)”,会返回一个过滤后的数组;2、利用count()函数获取原数组的长度和过滤后数组的长度;3、检查获取的两个数组长度是否相等,语法“原数组长度===过滤数组长度”,如果相等则数组元素均不为空值,反之则有数组元素为空值。
本教程操作环境: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,'',null,12,false,0); var_dump($arr); $newarr = array_filter($arr); echo "过滤后的数组:"; var_dump($newarr); ?>
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,'',null,12,false,0); var_dump($arr1); f($arr1); $arr2 = array(1,2,3,4,5,6); var_dump($arr2); f($arr2); ?>
推荐学习:《PHP视频教程》