我在php中有一个数组,这个数组是从数据库中获取的。有时数组结构就像
array(""=>NULL)
但有时它也包含来自数据库的实际数据。但有一点可以肯定,它永远不会是一个空数组(array())
如何检查数组是否包含实际数据?
答案 0 :(得分:2)
检查数组大小== 1,它包含""
数组键,数组中包含NULL
。
试试这样:
if(array_key_exists("",$array) && count($array) == 1 && in_array(NULL,$array)){
echo "invalid";
}
答案 1 :(得分:1)
如果您使用mysql
使用mysql_num_rows()
..这将为您提供fetched results from table
的计数..所以如果计数为0 比您的数组是空的....
或者您使用PDO
而不是PDOstatement->rowCount()
...如果您使用mysqli
而不是使用mysqli_num_rows
来计算...
答案 2 :(得分:0)
你可以这样做。
if ($arr) {
// there was an error
} else {
// there wasn't
}
根据PHP Manual,如果数组仅包含“NULL”作为值,则数组到布尔转换将返回false。
答案 3 :(得分:0)
使用php原生函数的一个非常简单的答案
$input_array = array(""=>NULL);
$is_error=array_filter($input_array);
if (!empty($is_error)) {
// do your stuff here
}
答案 4 :(得分:-1)
试试这个
if (!empty($result)
{
.....
}