如何在php中检查mysql中的空数组

如何在php中检查mysql中的空数组,php,Php,我在php中有一个数组,这个数组是从数据库中获取的。有时数组结构类似于 array(""=>NULL) 但有时它也包含来自数据库的实际数据。但有一点是肯定的,它永远不会是空数组(array()) 如何检查数组是否包含实际数据?如果您使用的是mysql使用mysql\u num\u rows()。。这将为您提供从表中获取结果的计数。。因此,如果计数为0,则数组为空 或者您使用的是PDO而不是PDOstatement->rowCount()。。。如果您使用的是mysqli,则使用mysqli

我在php中有一个数组,这个数组是从数据库中获取的。有时数组结构类似于

array(""=>NULL)
但有时它也包含来自数据库的实际数据。但有一点是肯定的,它永远不会是空数组
(array())


如何检查数组是否包含实际数据?

如果您使用的是
mysql
使用
mysql\u num\u rows()
。。这将为您提供从表中获取结果的计数。。因此,如果计数为0,则数组为空


或者您使用的是
PDO
而不是
PDOstatement->rowCount()。。。如果您使用的是
mysqli
,则使用
mysqli\u num\u rows
获取计数…

检查数组大小==1,它包含
数组键,并且
NULL
在数组中

试着这样做:

   if(array_key_exists("",$array) && count($array) == 1 && in_array(NULL,$array)){
    echo "invalid";
   }
试试这个

if (!empty($result)
{
.....
}

你可以简单地做到这一点

if ($arr) {
  // there was an error
} else {
  // there wasn't
}
根据数组,如果数组仅包含“NULL”作为值,则从数组到布尔值的转换将返回false。

一个使用php本机函数的非常简单的答案


是的,使用a(不,不要这样做)。但是他没有提供他使用的是
mysql
mysqli
还是
pdo
。。我会更新您的答案,以演示mysqli和PDO的正确方法,并将当前答案放在下面,同时标记它已弃用。PDO rowCount()不可靠,不建议使用它。我忘了说列的值是序列化数组。在select语句中,我选择该字段。我还不明白为什么它总是有count()>0(可能是我的错误编码)。现在我使用@Awlad Liton-answer
$input_array = array(""=>NULL);
$is_error=array_filter($input_array);
if (!empty($is_error)) {
    // do your stuff here
}