什么改变了循环中的条件:while (mysql_fetch_array($var))?
Posted
技术标签:
【中文标题】什么改变了循环中的条件:while (mysql_fetch_array($var))?【英文标题】:What changes the condition in loop: while (mysql_fetch_array($var))? 【发布时间】:2012-07-29 03:10:51 【问题描述】:我是一名初学者 C 程序员。我最近开始学习 php 和 mysql,并在 while 循环中遇到了这种有趣的行为:
while ($pages = mysql_fetch_array($pages_set))
statement
我之前了解到,必须在循环中的某处(或表达式本身)更改条件才能使循环成为有限的,但在这种情况下,我只是看不到它。
我研究了一下mysql_fetch_array()函数,发现this:
返回对应于获取行的数组并将内部数据指针向前移动。
是不是说指针在行中移动,当它到达末尾时,它会返回 0 或 NULL?
【问题讨论】:
由于您只是在学习 PHP,因此值得指出的是mysql_xxx()
函数已被弃用。您应该改用mysqli_xxx()
替代方案或 PDO 库。有关更多信息,请参阅 PHP 手册。但是,对于这些库中的任何一个,类似的构造都是可能的,因此您的问题仍然相关。
【参考方案1】:
指针在每次迭代时移动到记录集中的下一行,这样当没有数据时,$pages 将为 NULL,循环将结束。
【讨论】:
以上是关于什么改变了循环中的条件:while (mysql_fetch_array($var))?的主要内容,如果未能解决你的问题,请参考以下文章