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