[英]A While Loop Condition In PHP
我在許多示例中都看到了以下while循環條件,甚至我已經使用了很多次。 我知道它是如何工作的以及如何使用。 但是當我編寫代碼時,這里的條件沒有任何意義。
正如我所看到的代碼,條件就像它總是正確。 就像while(1)一樣 。 因為到* mysql_fetch_assoc()*,傳遞的數據一直傳遞。 因此條件是一個常數。
while($arr = mysql_fetch_assoc($data))
{
//other code
}
現在,我在哪里錯了????
每次對mysql_fetch_assoc
調用都會從結果集中獲取下一行。 如果不再有任何行,則返回false
並終止循環。
$data
是一種資源數據類型,可能會保留有關最后獲取哪一行的狀態。
這並不罕見,即使數組都具有指向當前元素的內部指針,也可以使用某些數組函數對其進行操作。
在PHP網站上 ,mysql_fetch_assoc“ 返回與所獲取的行相對應的字符串關聯數組,如果沒有更多行,則返回FALSE。 ”
因此,只要仍有行可用, mysql_fetch_assoc
將返回行內容的關聯數組,將指針增加到下一行,並執行while
循環。
當沒有更多的行時, mysql_fetch_assoc
將返回FALSE
,並且循環將中斷。
另請注意,自PHP 5.5.5起,此功能將被棄用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.