2016-09-23 93 views
0

我想獲取數據並通過foreach循環顯示它,但它不工作給參數錯誤,但是當我嘗試這與while循環它工作正常。所以我的問題是,爲什麼我不能用foreach獲取使用mysqli_fetch_array數據爲什麼它是唯一可能與while loopmysqli_fetch_array不工作的預測循環

// While 
while($row = mysqli_fetch_row($result)) 
{ 
    var_dump($row); echo "<hr />"; 
} 

// Foreach 
foreach(mysqli_fetch_array($result) as $row) 
{ 
    var_dump($row); echo "<hr />"; 
} 
+1

其不同,'while'將不斷調用功能,'foreach'將不會 – Ghost

回答

0

因爲mysqli_fetch_array作爲來自它的名字 - 獲取你的結果一行作爲數組

所以,foreach(mysqli_fetch_array($result) as $row)意味着

取回一行,並遍歷該行。

雖然while($row = mysqli_fetch_row($result))意味着

做讀取行,直到沒有什麼去取。 當沒有東西可以取while - 條件是false和循環中斷。

信息關於while-loopforeach-loop

1

您不能mysqli_fetch_array直接使用的foreach。 FOREACH是使用用於一個存在陣列的循環,通過每個其項循環

可以使用像以下

$result = array(); 
    while($row = mysqli_fetch_array($result)) { 
     $result[] = $row; 
    } 

    foreach($result as $row) { 
     var_dump($row); 
     echo "<hr />"; 
    } 
+0

將使用一個參考; (foreach(mysqli_fetch_array($ result)爲&$ row)有效嗎? – Roy123

+1

沒有,這將無法正常工作。 –