首页 >后端开发 >PHP问题 >php怎么判断数组所有值是否都不为空

php怎么判断数组所有值是否都不为空

青灯夜游
青灯夜游原创
2022-09-09 20:21:051885浏览

步骤:1、使用array_filter()函数过滤数组,语法“array_filter(原数组);”,会返回一个包含所有不为空元素的数组;2、使用count()函数获取原数组和过滤数组的长度,并比较两数组长度是否相等,语法“count(原数组)==count(过滤数组)”,如果相等则数组所有值都不为空,如果不相等则数组中有值为空。

php怎么判断数组所有值是否都不为空

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

在php中,可以使用array_filter()和count()函数来判断数组所有值是否都不为空

判断步骤:

步骤1:利用array_filter()函数过滤数组,获取不为空的元素

  • array_filter()过滤数组,返回符号条件的元素

array_filter函数的功能是利用回调函数来对数组进行过滤,一直都以为用回调函数才能处理,却没有发现手册下面还有一句,如果没有回调函数,那么默认就是删除数组中值为false的项目。

$res=array_filter($arr);

会返回一个包含所有不为空元素的过滤数组

步骤2:使用count()函数获取原数组和过滤数组的长度,并比较两数组的长度是否相等

count(原数组)==count(过滤数组)
  • 如果相等,则数组所有值都不为空(因为没有过滤掉任何一个元素)

  • 如果不相等,则数组中有值为空

完整实例代码:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);  
$arr=array(1,&#39;h&#39;,TRUE,FALSE,null,99,100);
var_dump($arr);

echo "过滤后的数组:";
$res=array_filter($arr);
var_dump($res);

if(count($arr)==count($res)){
	echo "数组所有值都不为空";
}else{
	echo "数组中有值为空";
}
?>

1.png

说明:

array_filter() 函数

array_filter() 函数用回调函数过滤数组中的元素,会返回一个过滤后的数组。    

该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。

array array_filter ( $array , 回调函数 )

推荐学习:《PHP视频教程

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

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