这是我的数组输出
Array
(
[1] => 1
[2] => 2
[3] =>
)
我怎么知道[3] =>
是空的?
foreach ($array as $key => $value) {
if (empty($value))
echo "$key empty <br/>";
else
echo "$key not empty <br/>";
}
我的出局显示所有并非空。什么是正确的检查方法是空的?
答案 0 :(得分:21)
另一种解决方案:
$array = array('one', 'two', '');
if(count(array_filter($array)) == count($array)) {
echo 'OK';
} else {
echo 'ERROR';
}
答案 1 :(得分:14)
按预期工作,第三个是空
也许尝试修剪它的值,以防第三个值只是一个空格。
foreach ($array as $key => $value) {
$value = trim($value);
if (empty($value))
echo "$key empty <br/>";
else
echo "$key not empty <br/>";
}
答案 2 :(得分:6)
您可以使用以下方法检查空数组:
if ( !empty(array_filter($array))) {
echo 'OK';
} else {
echo 'EMPTY ARRAY';
}
答案 3 :(得分:3)
您可以使用array_diff()
和array_diff_key()
:
$array = array('one', 'two', '');
$emptyKeys = array_diff_key(array_diff($array,array()),$array);
array_diff()
提取所有不相同的项目(因此省略空白),array_diff_key
会将差异归还给原始数组。
答案 4 :(得分:1)
这是一个简单的解决方案,用于检查数组中的空键值并返回键。
$a = array('string', '', 5);
echo array_search(null, $a);
// Echos 1
检查数组是否包含空键值。试试这个。
$b = array('string','string','string','string','','string');
if (in_array(null, $b)) {
echo 'We found a empty key value in your array!';
}
答案 5 :(得分:0)
试试这个:
<?php
$data=array(
'title' => 'Test Name Four',
'first_name' => '',
'last_name' => 'M',
'field_company' => 'ABC',
'email' => '',
'client_phone_number' => '',
'address_line_1' => '',
'address_line_2' => 'Address 3',
'address_line_3' => '',
'address_line_4' => '',
'post_code' => '',
);
echo '<pre>';
print_r($data);
foreach ($data as $key => $case ) {
echo "$key => ".is_multiArrayEmpty($case)."<br>";
}
function is_multiArrayEmpty($multiarray) {
if(is_array($multiarray) and !empty($multiarray)){
$tmp = array_shift($multiarray);
if(!is_multiArrayEmpty($multiarray) or !is_multiArrayEmpty($tmp)){
return false;
}
return true;
}
if(empty($multiarray)){
return true;
}
return false;
}
?>
答案 6 :(得分:0)
我在我的项目中使用这样来检查这个数组
我发布表格数据,例如array('username' => 'john','surname' => 'sins');
public function checkArrayKeyExist($arr) {
foreach ($arr as $key => $value) {
if (!strlen($arr[$key])) {
return false;
}
}
return true;
}
答案 7 :(得分:0)
$array = array('A', 'B', '');
或
$array = array('A', 'B', ' ');
这对我有用
if(in_array(null, $myArray) || in_array('', array_map('trim',$myArray))) {
echo 'Found a empty value in your array!';
}