2013-06-11 21 views
0

耻辱问,但我不知道如何echout所有数组的键在此的foreach循环:周期中的所有磁盘阵列的键

$i=0; 
foreach ($matches as $match) { 
echo $match[$i++]; 
} 

现在结果只是“1”。取而代之的1 2 3 7

Array 
(
    [0] => Array 
     (
      [0] => 1 
      [1] => 2 
      [2] => 3 
      [3] => 7 
     ) 

) 

回答

0

如果$匹配始终是一个单一的元素,你可以走了一条捷径,并使用一个数组:

foreach ($matches[0] as $match) { 
    echo $match.' '; 
} 

Othewise使用嵌套foreach循环

foreach($matches as $match) { 
    foreach($match as $element) { 
    echo $element.' '; 
    } 
} 
0

那是因为你的代码是基本呼应的第一阵列的第一项,第二的第二等,但因为你只有一个数组中的“主力”之一,它输出那个单独的1。虽然这对证明有无限多的实数很有用,但这不是你想要的!

试试这个:

foreach($matches as $match) { 
    echo implode(" ",$match); 
} 
1

你只想阵列钥匙?使用

array_keys() 

你想循环播放键?使用

foreach($array AS $key=>$value){ 
    echo $key.' '; 
} 

你想回显值吗?使用:

foreach($array AS $key=>$value){ 
    echo $value.' '; 
} 

否则,您需要解释您实际尝试做什么。

0

您可以使用array_walk_recursive做到这一点。

$array = array(
    array(
    0 => 1, 
    1 => 2, 
    2 => 3, 
    3 => 7 
) 
); 

function print_out($item, $key) { 
    echo "$key = $item\n"; 
} 

array_walk_recursive($array, 'print_out'); 

输出:

0 = 1 
1 = 2 
2 = 3 
3 = 7