php怎么检测数组中是否有空值
时间 : 2023-02-15 12:32:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
php中的数组有很多的应用,数组中的元素可能缺少,有的元素值是空的,我们就要检查数组中是否有空值了。
1. in_array() 函数
in_array() 函数用于检查数组中是否存在某个值,可用来检查数组中是否有空值,语法格式如下:
in_array (value,array,strict);
value: 必选项。规定要搜索的值
array: 必选项。规定要搜索的数组
strict: 可选项 如果设置为 TRUE,则 in_array() 函数还会检查 value 类型是否和 array 中的相同。
示例:
$arr = array();
if (in_array("", $arr)) {
echo "存在空值";
}
else {
echo "不存在空值";
}
2. array_diff() 函数
array_diff() 函数用于比较两个或更多个数组之间的差异,可用来判断数组中是否存在空值,语法格式如下:
array_diff (array1,array2,array3...);
array1: 必选项。规定第一个要比较的数组
array2: 必选项。规定第二个要比较的数组
示例:
$arr1 = array("a"=>"Cat","b"=>"Dog","c"=>"");
$arr2 = array("d"=>"Horse","e"=>"Giraffe","f"=>"");
print_r(array_diff($arr1,$arr2));
输出结果:
Array ( [a] => Cat [b] => Dog )
说明: array_diff() 函数比较出了空值不存在,所以在比较结果中没有返回相应的值。
3. array_filter() 函数
array_filter() 函数用来筛选数组中的元素,可以使用它来检查数组中是否有空值,语法格式如下:
array_filter (array,function);
array: 必选项。规定要筛选的数组
function:可选项。规定用于筛选的
PHP是一种功能强大的脚本语言,可以在服务器端处理数据,它能方便快捷地处理复杂的业务逻辑。而数组在PHP中是一种非常重要的数据类型,它可以把很多数据放在一起,形成一个集合。比如我们在开发中有时候会遇到要检测数组当中是否有空值的情况,那么该如何检测呢?
其实常用的检测方法集有两种,一种是使用in_array()函数或者array_search()函数,另一种是使用array_filter()函数。
使用in_array()函数或者array_search()函数时,我们可以直接传入‘’(空字符串)或者null这种空值,去在数组中查找有没有空值存在,如果存在的话,就会返回true,从而判断数组中有空值,代码样例如下:
```php
<?php
$arr = array(1,null,5,8,9);
if (in_array('',$arr) || in_array(null,$arr)) {
echo "数组中有空值";
} else {
echo "数组中没有空值";
}
?>
使用array_filter()函数时只需在函数中加入一个回调函数,专门来排除数组中值为false或者空值的记录,对比数组和过滤后数组,如果长度不一样,说明有值为空的记录存在,如果长度一致,则说明没有空值存在,具体做法如下:
```php
<?php
$arr = array(1,null,5,8,9);
$filter_arr = array_filter($arr,function($v){
return $v === 0 || $v === false || !empty($v);
});
if (count($arr) != count($filter_arr)) {
echo "存在空值";
} else {
echo "不存在空值";
}
?>
以上对比两种方法,使用in_array()函数或者array_search()函数比较简单,无需
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章