【问题标题】:What changes the condition in loop: while (mysql_fetch_array($var))?什么改变了循环中的条件: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 手册。但是,对于这些库中的任何一个,类似的构造都是可能的,因此您的问题仍然相关。

标签: php mysql arrays fetch


【解决方案1】:

指针在每次迭代时移动到记录集中的下一行,这样当没有数据时,$pages 将为 NULL,循环将结束。

【讨论】:

    猜你喜欢
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    相关资源
    最近更新 更多