[英]PHP Array from MySQL is not empty but has an empty entry - how to avoid
我正在嘗試檢查數據庫中是否存在一項(一個或多個)。 但是,即使我知道沒有條目,我也會得到第一個條目為零的數組。 因此,它不是空的,我沒有得到我所需要的。
這是我的代碼:
<?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(*)
以確定您將獲得多少個條目。 然后,您知道結果將是一個有用的答案,並且可以根據您的結果進行或不進行后續查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.