2010-05-26 193 views
-4
$child= array(); 
$i = 0; 

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    $child[i] = $row['userId']; 
    $i++; 
} 

$i = 0; 
while($i<=5) 
{ 
    echo $child[i]; 
    $i++; 
} 

它正在打印相同的值。這段代碼有什麼問題?

+0

$ result中的查詢是什麼? – 2010-05-26 11:07:00

回答

8

您正在使用i對於數組索引,而不是$i

$child[i] 

這應該是$child[$i]。因爲$child[i]中的i被解釋爲常量(常量值爲i用作索引),或者如果沒有像字符串那樣的常量。您可以通過var_dump獲得變量/值轉儲。

+0

+1。無論「第一個正確的答案獲得投票」的好日子發生了什麼。 – karim79 2010-05-26 11:11:24

+0

我不知道那些日子發生了什麼,我沒有投票。也許人們最後喜歡笑臉,我自己認爲這個答案是更好的格式(並在我的前1分鐘發佈),所以應該是最好的。 – CharlesLeaf 2010-05-26 11:16:31

+0

另一個原因,你應該測試E_NOTICE錯誤級別設置... – ircmaxell 2010-05-26 11:22:52

6

您忘記了$ I $中的孩子[I] ..應該是$孩子[$ i];)

1
$child= array(); 
$i = 0; 

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    $child[$i] = $row['userId']; 
    $i++; 
} 

$i = 0; 
while($i<=5) 
{ 
    echo $child[$i]; 
    $i++; 
} 

你不是叫$ I,但 「我」

2

如果你想數字索引,你可以做沒有$我..嘗試..

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    $child[] = $row['userId']; 
} 

for($i=0;$i<5;$i++) 
{  
echo $child[$i].' <br />; 
} 

希望它有幫助。