我需要检查数组中的字段是否为空。我想知道PHP中是否有执行此操作的函数。我已经尝试过empty()
,但是由于它检查数组是否为空,因此它返回false,因为数组具有字段。
以下数组如下:
"wm" => array:7 [▼
"make" => null
"model" => null
"version" => null
"portal_plan_id" => null
"portal_highlight_id" => null
"price_type_id" => null
"announce" => null
]
请注意,这些值为null
,它们是我需要检查的值。
谢谢!
答案 0 :(得分:3)
有两种方法可以执行此操作,具体取决于您的需求。如果您想知道任何值是否为空:http://php.net/manual/en/function.array-search.php
array_search(null, $array)
如果没有键为null,array_search将返回false。因此,您可以
if(array_search(null, $array) !== false){
// There is at least one null value
}
如果您想知道哪些键具有空值: http://php.net/manual/en/function.array-keys.php
array_keys($array, null)
array_keys将提供所有具有空值的键。所以你可以检查
if(count(array_keys($array, null)) > 0){
// There is at least one null value. array_keys($array, null) can retrieve the keys that are null
}
答案 1 :(得分:0)
$array = [
'make' => KIA,
'model' => Koup,
'version' => 5.0,
'portal_plan_id' => null
];
if(in_array(null, $array)){
// do something
}
上面的代码检查是否至少有一个空值,在这种情况下,它将评估为真
$array = [
'make' => null,
'model' => null,
'version' => null,
'portal_plan_id' => null
];
if(count(array_unique($array)) == 1 && array_unique($array)['make'] == null)
{
//do something
}
在['make']是第一个索引的地方,您可以选择任何索引。以上将评估为true。它是这样工作的;它检查所有值是否都相同(array_unique($ array))== 1),并且第一个值是否为null(array_unique($ array)['make'] == null)。按照逻辑,如果第一个值是null且所有值都相同,则可以得出结论,所有值都是null