Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,如何检查数组在未指定索引处是否有空值?_Php_Arrays_Array Filter - Fatal编程技术网

在PHP中,如何检查数组在未指定索引处是否有空值?

在PHP中,如何检查数组在未指定索引处是否有空值?,php,arrays,array-filter,Php,Arrays,Array Filter,如何检查是否有任何数组包含空字段(它们都是动态数组,因此空值可以位于它们中的任何索引中) 最好也知道在哪个索引处,否则,只需知道是否有空字段。有很多方法可以实现这一点。首先想到的是检查过滤版本的计数是否小于原始数组。您甚至可以通过向array\u filter()提供一个闭包来自定义它,以指定要查找的过滤器值的类型 if(计数(数组过滤器($a1))

如何检查是否有任何数组包含空字段(它们都是动态数组,因此空值可以位于它们中的任何索引中)


最好也知道在哪个索引处,否则,只需知道是否有空字段。

有很多方法可以实现这一点。首先想到的是检查过滤版本的计数是否小于原始数组。您甚至可以通过向
array\u filter()
提供一个闭包来自定义它,以指定要查找的过滤器值的类型

if(计数(数组过滤器($a1))
阵列过滤器()的手册中

如果未提供回调,则将删除所有等于FALSE(请参阅)的数组项

  • 现场演示
  • 文件
如果需要知道哪个索引为空,可以通过
array_diff()
检查过滤后的数组与原始数组的差异。然后,您可以对过滤后的数组使用
array\u keys()
,以获取所有索引

  • 现场演示
  • 文件

使用
array\u search()
搜索空字符串。@用于在特定索引处查找的Barmar。如果我不知道空值在哪里呢?你是什么意思
array\u search
返回索引。谢谢您的回答,但是如果(count(array\u filter($a1))
不仅在检查,而且在筛选,对吗?我不想对数组进行任何更改或筛选,我只想检查并通知用户。
array\u filter()
不是通过引用,它只是返回筛选后的数组,因此它不会更改您通过的数组(除非您将其重新分配,即
$a=array\u filter($a);
)。
Array1 ( [0] => dfsg [1] => dfasg [2] => d5g [3] => )
Array2 ( [0] => d54fgv [1] => [2] => df4g4 [3] => d645 )