耻辱问,但我不知道如何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
)
)
耻辱问,但我不知道如何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
)
)
如果$匹配始终是一个单一的元素,你可以走了一条捷径,并使用一个数组:
foreach ($matches[0] as $match) {
echo $match.' ';
}
Othewise使用嵌套foreach循环
foreach($matches as $match) {
foreach($match as $element) {
echo $element.' ';
}
}
那是因为你的代码是基本呼应的第一阵列的第一项,第二的第二等,但因为你只有一个数组中的“主力”之一,它输出那个单独的1
。虽然这对证明有无限多的实数很有用,但这不是你想要的!
试试这个:
foreach($matches as $match) {
echo implode(" ",$match);
}
你只想阵列钥匙?使用
array_keys()
你想循环播放键?使用
foreach($array AS $key=>$value){
echo $key.' ';
}
你想回显值吗?使用:
foreach($array AS $key=>$value){
echo $value.' ';
}
否则,您需要解释您实际尝试做什么。
您可以使用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