在PHP中,判断数组元素是否都为null,可以使用in_array()函数和array_unique()函数结合来完成。下面具体介绍一下如何使用。
使用in_array()函数判断数组元素是否为null
in_array()函数用于判断一个值是否在数组中。结合null可以判断数组元素是否为null。
$test_array = array(null,null,null,null);
if(in_array(null,$test_array)){
echo '数组元素中有null值';
}else{
echo '数组元素中没有null值';
}
输出结果:数组元素中有null值
使用array_unique()函数去重判断数组元素是否为null
array_unique()函数用于去重。将数组去重后,如果只剩下null,则数组元素都为null。
$test_array = array(null,null,null,null);
$unique = array_unique($test_array); //使用array_unique()函数去重
if(count($unique) == 1 && reset($unique) === null){
echo '数组元素中都是null值';
}else{
echo '数组元素中不全部为null值';
}
输出结果:数组元素中都是null值
总结
如上所述,PHP中判断数组元素是否都为null可以结合in_array()函数和array_unique()函数来完成。前者判断数组中是否存在null值,后者则去重后判断是否只剩下null。
这里再提供一种直接判断方式,即使用array_filter()函数,由于null值会被array_filter()函数过滤掉,因此可以使用empty()函数判断是否过滤后仅剩下空值:
$test_array = array(null,null,null,null);
$filter_array = array_filter($test_array); //过滤掉null值
if(empty($filter_array)){
echo '数组元素中都是null值';
}else{
echo '数组元素中不全部为null值';
}
输出结果:数组元素中都是null值