如何从某个键开始迭代多维数组?

时间:2014-05-10 13:56:28

标签: php arrays multidimensional-array

我有一个从用户表单创建的多维数组。我想从循环中的某个键开始,在foreach循环中迭代数组。出于某种原因,我的下面的代码无效。

$i = 3; 

foreach ($data as $val) {
    echo $val[$i] . " : " . $val['value'] . "<br />";
    $i++; 
}

输出:

Array ( 
    [0] => Array ( [name] => name [value] => name ) 
     [1] => Array ( [name] => code [value] => code ) 
    [2] => Array ( [name] => description [value] => description ) 
     [3] => Array ( [name] => unit-1 [value] => uni 1 ) 
     [4] => Array ( [name] => unit-1-section-1 [value] => unit 1 sect 1 ) 
     [5] => Array ( [name] => unit-2 [value] => unit 2 ) 
     [6] => Array ( [name] => unit-2-section-1 [value] => unit 2 section 2 ) 
    ) 

如您所见,我想从$data数组中的第3个键开始。

2 个答案:

答案 0 :(得分:2)

只需使用常规的for循环,然后从3键开始(我猜测你的意思是&#34;第三个键&#34;甚至虽然它实际上是第4个):

for ($i = 3; $i < count($data); $i++) {
    echo $data[$i]['name'] . " : " . $data[$i]['value'] . "<br />";
}

答案 1 :(得分:1)

如果你想从$ data中的每个数组中的第3个键开始:

foreach ($data as $val) {
   $count = count($val);
   for($i = 2; $i < $count; $i++)
      echo $val[$i]['name'] . " : " . $val[$i]['value'] . "<br />";
   }
}