我最近一直在使用相当多的 PHP,虽然我通常觉得它很有趣而且相当轻松,但我担心我可能会偶然发现很多人似乎讨厌它的怪癖之一。
考虑一下:
while($row = mysql_fetch_array($result))
{
//Do something with $row...
}
...其中 $result 是一个 mysql_query ,例如:
从人中选择姓名、年龄
每次循环执行时,$row 都会引用返回结果中的不同行。
我从来不知道 while(... 语句在它检查的条件为真时执行除执行之外的任何操作的语言,而且我可以看到上面的内容如何做同样的事情......但我看不出一个while 循环导致它遍历获取的数组的索引。
这仅仅是 PHP 的一个奇怪的怪癖,还是 mysql_fetch_array 返回的对象每次被引用时都会增加/拼接自己?
我了解它是如何工作的,所以我可以在我的代码中使用它,但我不明白为什么而且我不喜欢死记硬背 - 如果有人能解释一下,我将非常感激。