循环所有数组的键

时间:2013-06-11 14:42:27

标签: php arrays

很遗憾,但是我不知道如何在这个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
        )

)

4 个答案:

答案 0 :(得分:1)

你只想要数组键吗?使用

array_keys()

你想在循环时回显键吗?使用

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

你想回应价值观吗?使用方法:

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

否则,您需要解释您实际上要做的事情。

答案 1 :(得分:0)

那是因为你的代码本质上是回显第一个数组的第一个项目,第二个数据的第二个等等,但由于你只有一个数组在“主”数组中,它输出单个1。虽然这对于证明存在无数多个实数是有用的,但这不是你的目标!

试试这个:

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

答案 2 :(得分:0)

如果$ matches总是一个包含单个元素的数组,则可以使用快捷方式并使用:

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

其他使用嵌套的foreach循环

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

答案 3 :(得分: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