2013-06-04 202 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