2013-04-13 84 views
-6

我在做一個很簡單的PHP語句如爲什麼mysqli_fetch_array()返回數組大小的兩倍?

print_r($my_rec); 
$row = mysqli_fetch_array($my_rec); 
echo "\nP_Id " . $row['P_Id'] . ' Length ' . sizeof($row) . "\n"; 
$row = mysqli_fetch_array($my_rec); 
echo "\nP_Id " . $row['P_Id'] . ' Length ' . sizeof($row) . "\n"; 

現在,當打印的print_r到屏幕上,它報告說,只有16場/列每個陣列英寸這是真的。但是,當我獲取一個數組時,它給了我兩倍的字段。換句話說,數組重複自己,這是沒有道理的。例如...

我在我的數據庫

Col1 Col2 
"hi1" "bye1" 

當我做

$row = mysqli_fetch_array($my_rec); 
foreach($row as $x){ 
     echo $x . "\n"; 
} 

它將打印

hi1 
hi1 
by2 
by2 

爲什麼會出現這種現象?

+3

RTLM:http://php.net/mysql_fetch_array,特別是 「返回值」 一節。 –

+0

@MarcB L的意思是什麼 – Musa

+0

'Linked',因爲'F'ing'被判斷爲太苛刻,無法在這裏被某些人使用。 –

回答

5

因爲它還包括一個填充了列位置的數組(即:0,1,2,3和id,用戶名,密碼,電子郵件)。 id0都保持相同的數據。

如果你只希望字符串索引,您可以使用mysqli_fetch_assochttp://php.net/mysqli_fetch_assoc

+0

謝謝。這真的有幫助。 –

相關問題