php 5.3 和 7.2 中的 foreach 循环

foreach loop in php 5.3 and 7.2

我想在 PHP 5.3 中使用这个 foreach 循环,它在 PHP 7.2

中运行良好
$query = sprintf("SELECT a,b FROM table");
$result = $mysqli->query($query);
$data = array();
foreach ($result as $row) {
 $data[] = $row;
}

我阅读了官方文档,了解到 foreach 循环的工作方式不同,但我无法理解。

您正在通过以下方式迭代结果对象来获取结果:

foreach ($result as $row) {
    $data[] = $row;
}

直到 PHP 5.4 才添加对此的支持。 (See the changelog in the manual)您需要显式调用获取方法。

while ($row = $result->fetch_assoc()) {
    $data[] = $row;
}