如何使用in_array WITH EXCEPTIONS检查空值?

Ros*_*ten 6 php arrays

我试图找出如何检查具有某些异常的数组的空值.这是数组:

[name_first] => Name
[name_last] => 
[email] => blah@blah.com
[address] => 
[country] => USA
Run Code Online (Sandbox Code Playgroud)

有两个空值 - name_last&address.这是代码:

if (in_array(null, $data)) {
   echo 'empty values';
  }else{
     echo 'ok'; 
  }
Run Code Online (Sandbox Code Playgroud)

它将返回falseas [address][name_last]empty.我怎么能忽略一个特定的键(让我们说 - [address])?基本上它应该看起来像这样:

if (in_array(null, $data) **&& key_is_not('address', 'hatever')**) {
   echo 'empty values';
  }else{
     echo 'ok'; 
  }
Run Code Online (Sandbox Code Playgroud)

Aks*_*ayP 1

尝试这个 :

$data = array('name_first' => "Name",
'name_last' => "",
'email' => "blah@blah.com",
'address' => "",
'country' => "USA");


foreach ($data as $key => $value) {
  if($value=="")
    echo "$key is Empty\n";
}
Run Code Online (Sandbox Code Playgroud)

更新

要从检查中排除特定键,您可以这样做:

$data = array('name_first' => "",
'name_last' => "",
'email' => "blah@blah.com",
'address' => "",
'country' => "");

$array = array("name_first","country");
foreach ($data as $key => $value) {
  if($value=="" and (!in_array($key, $array)))
    echo "$key is Empty\n";
}
Run Code Online (Sandbox Code Playgroud)