2013-06-04 198 views
1

我有一個看起來像這樣的數組。PHP從循環陣列循環停止3循環

Array ([0] => Array ([0] => MDT 2920 P [1] => MDT 1210 P [2] => MDT 939 P [3] => MDT 1760 P [4] => PDT 23800 P) [1] => Array ([0] => MDT [1] => MDT [2] => MDT [3] => MDT [4] => PDT) [2] => Array ([0] => 2920 [1] => 1210 [2] => 939 [3] => 1760 [4] => 23800))

欲通過陣列環[2]和回聲的所有值的所述第一密鑰。

for($i = 0; $i < count($nt); $i++) 
{ 
echo $nt[2][$i]; 
echo "<br />"; 
} 

這個作品,但經過三個環路站和輸出看起來是這樣的:

2920 
1210 
939 

我期待 - 希望這樣的:

2920 
1210 
939 
1760 
23800 

我不明白爲什麼它停止。謝謝。

回答

4

你的問題就在這裏:

for($i = 0; $i < count($nt); $i++) 

您NT計數$的元素(這是3),但你要NT訪問的$的元素[2](其中有5個)。因此,你需要將上面的行更改爲:

for($i = 0; $i < count($nt[2]); $i++) 
+0

這個解釋對答案有幫助或多於答案。 – grantiago

1
for($i = 0; $i < count($nt); $i++) 

是cuplrit

你應該使用

for($i = 0; $i < count($nt[2]); $i++) 
2

嘗試使用foreach循環:

foreach ($array[2] as $value) { 
     echo $value; 
     echo "<br />"; 
    } 
+0

你是對的。我應該使用foreach。更清潔和更容易。 – grantiago

1
$number=array(1,2,3,4,5); 

foreach($number as $n) 
{ 
echo "value is $n <br>"; 
} 
+0

雖然此代碼片段可能會解決問題,但[包括解釋](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 – andreas