Php 检查数组项是否为空
我有两个阵列:Php 检查数组项是否为空,php,arrays,Php,Arrays,我有两个阵列: $fields\u data,输出: Array ( [name] => [email] => [phone] => [message] => ) Array ( [0] => name [1] => email [2] => message ) 和$required\u fields\u array,输出: Array ( [name] => [email] => [phone] => [message] =&g
$fields\u data
,输出:
Array ( [name] => [email] => [phone] => [message] => )
Array ( [0] => name [1] => email [2] => message )
和$required\u fields\u array
,输出:
Array ( [name] => [email] => [phone] => [message] => )
Array ( [0] => name [1] => email [2] => message )
$required\u fields\u array
的值是$fields\u data array
中的项
我需要对照$fields\u data
检查每个$required\u fields\u数组
,以检查它们对应的数组项是否为空
我试过:
foreach( $required_fields_array as $key )
{
if ( isset($fields_data[$key]) === false && empty($fields_data[$key]) === true )
{
print_r('empty');
}
}
我不明白为什么上面的方法不起作用
谁能给我指一下正确的方向。试试下面的方法:
$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()
的工作。删除isset部分。定义了一个变量并不意味着它不是空的。你说的是,如果这个值没有设置,它是空的。你可能想要一个手术室。然后您根本不需要isset
。从isset和empty中删除===false===true,bcoz如果它为空或未设置,您的条件将返回true,并进入ifKeep,就像(isset($fields\u data[$key])&&&!empty($fields\u data[$key]),您的代码如果没有问题otherwise@shashi