一个虽然循环条件在PHP
我在很多例子中看到了以下while循环条件,甚至我已经在很多时候使用它。我知道它是如何工作的以及如何使用它。但是,因为我在这里编码的条件没有任何意义。一个虽然循环条件在PHP
当我看到代码时,条件就像它总是如此。就像while(1)。因为* mysql_fetch_assoc()*,传递的数据一直传递。所以情况是一个常数。
while($arr = mysql_fetch_assoc($data))
{
//other code
}
现在,我在哪里错了?
对mysql_fetch_assoc
的每次调用从结果集中获取下一个行。如果没有行,则返回false
,并且循环终止。
$data
是一个resource数据类型,并且可能会保持关于哪一行最后被提取的状态。
这并不罕见,即使数组有一个指向当前元素的内部指针,它可以使用某些数组函数进行操作。
谢谢,这就是我所困惑的。这仅仅是一个函数技巧。 –
从PHP website,mysql_fetch_assoc“如果没有更多的行返回一个字符串的关联数组对应于提取行,或FALSE。”
因此,只要还有可用的行,mysql_fetch_assoc
会返回行内容的关联数组,将指针递增到下一行,并执行循环。
当没有更多的行mysql_fetch_assoc
将返回FALSE
和循环将中断。
另请注意,自PHP 5.5.5起,此功能将被弃用。
*“,并将数组指针增加到下一行”* ...'$ data'不是一个数组。或者你有更多关于如何实现MySQL资源链接的信息? –
我的不好 - 已删除'数组' – PassKit
'$ data'包含您通常无法看到的内部数据,例如“最后一行被取回为#5”。该数据由'mysql_fetch_assoc'用来返回下一行或NULL。所以不,条件不是恒定的。 – DCoder