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

时间:2014-03-05 05:32:20

标签: php

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

array(""=>NULL)

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

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

5 个答案:

答案 0 :(得分:2)

检查数组大小== 1,它包含""数组键,数组中包含NULL

试试这样:

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

demo

答案 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)
{
.....
}