我正在尝试检查数据库中是否存在条目(一个或多个)。然而,即使我知道没有条目,我也会得到第一个条目为零的数组。因此,它不是空的,我没有得到我需要的。
这是我的代码:
<?php
$query = mysql_query("SELECT * FROM table WHERE column = $yfbid_number AND timestamp BETWEEN (NOW()- Interval 1 DAY) AND NOW()");
$array[] = array();
while ($row = mysql_fetch_assoc($query)){
$array[] = $row['column'];
}
?>
当对一个应该为空的数组执行print_r时,我得到:([0]=>array()),因此count是1而不是零,这会打乱我的代码。有什么想法可以在这种情况下得到一个真正的空数组吗?我宁愿不删除这个条目,但首先要避免它,因为在大多数用例中,我会得到一个空数组或一个只有一个条目的数组(一个真正的条目),在这种情况下,我想很容易区分两者。(就像现在一样,两者都有1个条目,这对我们的海豚来说非常糟糕)。谢谢
更改:
$array[] = array();
至
$array = array();
在您的版本中,如果$array还不存在,PHP将首先创建一个数组,然后向其附加一个空数组。因此,您最终得到一个1元素数组,其唯一成员是空数组。
$array[] = array();
应为$array = array()
。现在,您正在将一个数组元素附加到已初始化的数组中。打开通知,你会收到关于一个未定义变量的投诉(可能)。
我建议您先做一个SELECT COUNT(*)
,以确定您将获得多少条目。然后你知道这个结果将是一个有用的答案,并且可以根据你的结果进行或不进行后续的查询。