gpt4 book ai didi

PHP foreach 循环仅每隔一次迭代递增一次

转载 作者:行者123 更新时间:2023-12-04 13:57:27 25 4
gpt4 key购买 nike

这个真的让我很困惑,所以感谢您的帮助。我正在尝试输出 SQL 结果集的值,但 foreach 循环似乎迭代了两次,然后递增数组索引。这样,如果我的数据库行包含连续的整数 1、2、3、4、5,则 foreach 循环的输出为 1、1、2、2、3、3、4、4、5、5。看不出原因。代码如下。

$result = mysql_query("SELECT * FROM Test");

echo "<table border=1><tr></tr>";

While($row = mysql_fetch_array($result))
{
echo "<tr>";
foreach($row as $value)
{
echo "<td>" . $value . "</td>";
}
echo "</tr><tr>";
for($x=0;$x<5;$x++)
{
echo "<td>" . $row[$x] . "</td>";
}
echo "</tr>";
}

第二个 for 循环是为了调试而加入的,以确保数组实际上不包含每个值的两个实例。但是该循环按预期输出:1,2,3,4,5。有任何想法吗?谢谢。

最佳答案

默认情况下,mysql_fetch_array的第二个参数设置为 MYSQL_FETCH_BOTH,它将在索引下注册每个值以及列的名称。提供 MYSQL_FETCH_NUM 以仅获取数字索引:

while($row = mysql_fetch_array($result, MYSQL_FETCH_NUM)) {
...

关于PHP foreach 循环仅每隔一次迭代递增一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8845620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com