【发布时间】:2013-01-19 20:34:00
【问题描述】:
我最近一直在使用相当多的 PHP,虽然我通常觉得它很有趣而且相当轻松,但我担心我可能会偶然发现一个很多人似乎讨厌它的怪癖.
考虑一下:
while($row = mysql_fetch_array($result))
{
//Do something with $row...
}
...其中 $result 是一个 mysql_query,例如:
从人中选择姓名、年龄
每次循环执行时,$row 都会引用返回结果中的不同行。
我从来不知道 while(... 语句在它检查的条件为真时执行除执行之外的任何操作的语言,我可以看到上面的内容会如何做...但我不能看看 while 循环如何导致它迭代 获取数组的索引。
这仅仅是 PHP 的一个奇怪的怪癖,还是 mysql_fetch_array 返回的对象每次被引用时都会增加/拼接自己?
我了解它的工作原理,所以我可以在我的代码中使用它,但我不明白为什么而且我不喜欢死记硬背 - 如果有人能解释一下,我会非常感谢。
【问题讨论】:
-
请切换到 MySQLi 或 PDO。这些方法已被贬值。 :) See PHP Page on mysql functions
-
啊,好吧,我不得不从头开始用 PHP 弄清楚 SQL,我发现的所有 tuts 都使用了 mysql_ 方法。我会试试 PDO,谢谢你的提示!
标签: php mysql sql arrays while-loop