1

是否可以在PHPwhile中更改?foreachmysql_fetch_row

例如

$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

foreach使用 with 时是否可以通过循环获取所有记录mysql_fetch_row

4

2 回答 2

3

您只能在以下情况下使用foreach

  • 您创建一个实现ArrayAccessor的类Iterator,或
  • 您在一个数组中获得整个结果集,并将该数组与foreach.

可以使用for循环,但代码可读性较差:

for ($row = mysql_fetch_row($result); $row !== false; $row = mysql_fetch_row($result)) {
    print_r($row);
}
于 2012-04-13T18:40:59.020 回答
1

不,因为foreach需要一个数组。在这里,mysql_fetch_row()一次只返回一行。

于 2012-04-13T18:42:30.927 回答