這一個真的讓我困惑,所以謝謝你的幫助。我試圖輸出一個SQL結果集的值,但foreach循環似乎是迭代兩次,然後遞增數組索引。這樣,如果我的DB行持有連續的整數1,2,3,4,5,則foreach循環的輸出爲1,1,2,2,3,3,4,4,5,5。看不到原因。代碼如下。PHP的foreach循環只增加一次每隔一個迭代
$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。有任何想法嗎?謝謝。
Seing如您有這樣的煩惱,我是ld建議使用mysqli函數來代替,所以在你的情況下,你不需要在foreach循環中引用行,而是在你通過它的時候使用每一行。只是一個建議。 – Andy 2012-01-13 03:49:23