php - 在PHP中将 'while'中的 'foreach'改为 'mysql_fetch_row'

标签 php mysql foreach while-loop

是否可以在 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/

相关文章:

javascript - 创建带有子数组的数组的函数

r - 带有两个参数的并行 foreach

php - 未配置 SQL 方言 (Phpstorm)

PHPExcel动态单元格生成-迭代

PHP 检查 NULL

mysql - 如何使用Mysql获取财政年度数据

javascript - php使用foreach post向mysql添加多条数据

javascript - php 中输入类型文本数组的限制是什么?

php - URL Controller 映射策略 (PHP)

php - Amazon S3 为每个对象创建唯一键