假设我有一个如下所示的数组:
Array
(
[0] =>
[1] => 2017-01-01 00:00:00
)
如何动态检查区域是否有空值?
答案 0 :(得分:1)
您可以使用empty()
:
$array = [
null,
'2017-01-01 00:00:00',
'',
[],
# etc..
];
foreach($array as $key => $value){
if(empty($value)){
echo "$key is empty";
}
}
有关详细信息,请参阅type comparison table。
答案 1 :(得分:1)
像
这样的东西// $array = [ ... ];
$count = count($array);
for( $i=0; $i<=$count; $i++){
if( $array[$count] == 0 ){
// Do something
}
}
答案 2 :(得分:1)
通过将数组值与array_filter
(删除空值)的结果进行比较,可以看出它是否有空值。
$has_empty_values = $array != array_filter($array);
答案 3 :(得分:1)
为此你有更多的可能性:
您可以使用array_filter
功能而无需第二个参数
array_filter([ 'empty' => null, 'test' => 'test']);
但是因为这会删除所有等于false的值(null,false,0)
您可以将array_filter
函数与回调函数一起使用:
function filterEmptyValue( $value ) {
return ! empty( $value );
}
array_filter([ 'empty' => null, 'test' => 'test'], 'filterEmptyValue');
您可以使用foreach或:
$array = ['empty' => null, 'test' => 'test'];
foreach($array as $key => $value) {
if(empty($value)) {
unset($array[$key]);
}
}
$array = [null, 'test'];
for($i = 0; $i < count($array); $i++){
if(empty($array[$i])) {
unset($array[$i]);
}
}
这是样本,因此您必须考虑并为您的问题提供良好的解决方案