是否可以在 PHP 的 mysql_fetch_row
中通过 foreach
更改 while
?
例如
$result = mysql_query("SELECT * FROM test");
while ($row = mysql_fetch_row($result)) {
print_r($row);
}
这将从查询 SELECT * FROM test
中获取所有记录(行)。
但是,如果使用 foreach
foreach (mysql_fetch_row($result) as $row) {
print_r($row);
}
这将只从查询 SELECT * FROM test
中获取第一条记录(行)。
与 mysql_fetch_row
一起使用时,是否可以通过 foreach
循环获取所有记录?
最佳答案
您只能在以下情况下使用 foreach
:
- 你创建了一个实现
ArrayAccess
的类或Iterator
, 或 - 您在一个数组中获取整个结果集并将该数组与
foreach
一起使用。
您可以使用for
循环,但代码可读性差:
for ($row = mysql_fetch_row($result); $row !== false; $row = mysql_fetch_row($result)) {
print_r($row);
}
关于php - 在PHP中将 'while'中的 'foreach'改为 'mysql_fetch_row',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10146471/