Php 如何检查数组值是否为空?
这是我的数组输出Php 如何检查数组值是否为空?,php,Php,这是我的数组输出 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/>"; } foreach($ke
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/>";
}
foreach($key=>$value的数组){
if(空($value))
回显“$key empty
”;
其他的
回显“$key不为空
”;
}
我的输出显示所有不是空的。什么是正确的检查方法是空的?它按预期工作,第三个是空的
foreach ($array as $key => $value) {
if (empty($value))
echo "$key empty <br/>";
else
echo "$key not empty <br/>";
}
也许试着修剪它的值,以防第三个值只是一个空格
foreach ($array as $key => $value) {
$value = trim($value);
if (empty($value))
echo "$key empty <br/>";
else
echo "$key not empty <br/>";
}
foreach($key=>$value的数组){
$value=修剪($value);
if(空($value))
回显“$key empty
”;
其他的
回显“$key不为空
”;
}
您可以使用array\u diff()
和array\u diff\u key()
:
array\u diff()
提取所有不相同的项(因此省略空格),array\u diff\u key
将差异返回到原始数组。另一种解决方案:
$array = array('one', 'two', '');
if(count(array_filter($array)) == count($array)) {
echo 'OK';
} else {
echo 'ERROR';
}
试试这个:
<?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;
}
?>
这里有一个简单的解决方案,可以检查数组中的空键值并返回键值
$b = array('string','string','string','string','','string');
if (in_array(null, $b)) {
echo 'We found a empty key value in your array!';
}
检查数组是否包含空键值。试试这个
public function checkArrayKeyExist($arr) {
foreach ($arr as $key => $value) {
if (!strlen($arr[$key])) {
return false;
}
}
return true;
}
我在我的项目中使用这样的方法来检查这个数组 我发布的表单数据类似于
array('username'=>'john','name'=>'sins')代码>
您可以使用以下命令检查空数组:
$array = array('A', 'B', '');
或
另一种解决办法:
这是我的工作
可能是因为第三个元素是一个空格'
,所以它不是一个空字符串?如果是这样,请尝试在If(trim($value)!=“”)
中更改它。为避免这些问题,请在打印值时使用var_dump()。它将显示长度,而不会隐藏那些空白字符。这不起作用。。php>print\r($array);数组([0]=>1[1]=>2[2]=>)php>$emptyKeys=Array_diff_key(Array_diff($Array,Array()),$Array);php>print\r($emptyKeys);Array()@Nephil只是想说清楚,我有一张上面有赛琳娜·戈麦斯的个人资料图片:)添加一些解释我添加了一些解释
if ( !empty(array_filter($array))) {
echo 'OK';
} else {
echo 'EMPTY ARRAY';
}
$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!';
}