检查数组项是否为空

时间:2017-10-12 13:17:05

标签: php arrays

我有两个数组:

$fields_data,输出:

Array ( [name] => [email] => [phone] => [message] => )

$required_fields_array,输出:

Array ( [0] => name [1] => email [2] => message ) 

$required_fields_array的值是$fields_data array中的项目。

我需要针对$required_fields_array检查每个$fields_data以检查它们对应的数组项是否为空。

我试过了:

foreach( $required_fields_array as $key ) 
{                                       
    if ( isset($fields_data[$key]) === false && empty($fields_data[$key]) === true  )       
    {               
        print_r('empty');
    }           
}   

我不明白为什么以上不起作用。

任何人都可以指出我正确的方向。

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

$fields_data = Array ( 'name' => '','email' => '','phone' => '','message' => '');
//Added extra element `asd` to show that `isset()` is not required
$required_fields_array = Array ('name','email',' message', 'asd');
foreach( $required_fields_array as $key ) 
{
    if(empty($fields_data[$key]))       
    {               
        print_r('empty');
    }           
}    

删除isset=== false等。因为empty()也会执行isset()的工作。