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