【发布时间】:2018-07-24 17:12:50
【问题描述】:
我想在 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适用于版本 4 php.net/manual/en/control-structures.foreach.php - 我怀疑这是导致问题的原因。您也没有告诉我们您得到的结果与预期结果相反。 -
我看不出这两个版本有什么不同。
-
您也没有对
sprintf()做任何事情。至少,不是在您发布的内容中。 php.net/manual/en/function.sprintf.php - 即来自手册:$num = 5; $location = 'tree'; $format = 'There are %d monkeys in the %s'; echo sprintf($format, $num, $location);. -
Array ([0] => Array ([setuprate] => 15.180 [Build] => 0.0.I5596) [1] => Array ([setuprate] => 15.490 [Build] => 0.0.I5596 ) [2] => Array ( [setuprate] => 15.530 [Build] => 0.0.I5596 ) ) 这是我在 PHP 7.2 中打印数组时得到的输出。但是我的数组在我在 centos 中使用的 PHP 5.3 中没有显示任何内容。 $result 变量在两种情况下都打印出来是相同的。所以,我认为 foreach 是错误的
-
哦,等等,是的。
标签: php mysql foreach php-7 php-5.3