2013-09-24 180 views
0

我一直在努力,現在來分析它像幾個小時,但我不明白什麼是錯我的代碼:(變量不改變其值

$d = 1; //I declare this variable as 1 
$a = 0; 
while($d<$arraycount-2){ 
    while ($a < 40){ 
    $c = 0; 
    $b = 0; 

    while($c < $fc){ 
     $finaloutput = $finaloutput.$database_returned_data[$d][$c].","; //But here, in this loop $d is always 1 

     $c++; 
    } 

    while($b < 5){ 
     $finaloutput = $finaloutput.$mydata[$a][$b].","; 
     $b++; 
    } 

    $finaloutput = $finaloutput."--END--"; 
    $a++; 
    } 
    $d++; //But it increments successfully. Hence, the while loop terminates after it meets the criteria. 
} 

變量$ d始終爲1裏面的其他循環,但它增加外循環注意存在的,而裏面的while語句是有什麼錯

我使用$d我的數組:?

$finaloutput = $finaloutput.$database_returned_data[$d][$c].","; 

我是noob海報。隨意問更多細節:)

+0

什麼是$ arrayCount的價值? $ fc的價值是多少? –

+0

你不會在''while'範圍內增加'$ d' ....?什麼是'$ arraycount-2'? –

+2

缺少內部循環之後的$ $重置,'$ a = 0'之間爲 – cske

回答

1

你不設置$a這裏:

while($d<$arraycount-2){ 
    while ($a < 40){ 

所以在除了第一本,而條件將不會運行在每次迭代。

只是將其更改爲:

while($d<$arraycount-2){ 
    $a = 0; 
    while ($a < 40){ 
+0

我的問題是$ database_returned_data [$ d] [$ c]保持爲$ database_returned_data [1] [$ c]。 $ d不會在該循環內增加 –

+0

$ a適用於$ mydata數組,它無論如何都沒有任何問題。 –

+0

現在我理解你的觀點了。將嘗試重置它。謝謝! –