我试图用foreach循环遍历两个多维数组
[array1] => Array (
[0] => Array ( 1,2,3 )
[1] => Array ( 4,5,6 )
[2] => Array ( 7,8,9 )
)
[array2] => Array (
[0] => Array ( 1,2,3 )
[1] => Array ( 4,5,6 )
[2] => Array ( 7,8,9 ) )
)
两个都有相同的键,
我想同时访问两个阵列的第一个数组, 我想做这样的事情
foreach($array1 as $key1=>$value1 && $array2 as $key2=>$value2)
echo $value1[1]." ".$value2[2]
它不正确,但这就是我想做的事情!
答案 0 :(得分:3)
如果两个维度中两个数组之间的键相同:
foreach (array_keys($array1) as $key1) {
foreach (array_keys($array1[$key1]) as $key2) {
echo $array1[$key1][$key2].' '.$array2[$key1][$key2];
}
}
最糟糕的情况是,一个维度或另一个维度中的某些键在一个或两个数组中都缺失,您必须在读取之前合并它们(并确保每个循环和数组中都存在键值)。
UPDATE :对二维数组结构使用相同的解决方案两次。
答案 1 :(得分:1)
您可以使用此代码,因为您有相同的密钥
foreach($array1 as $key=>$value) {
for($i=0; $i < count($value); $i++) {
echo $value[$i]." ".$array2[$key][$i];
}
}
感谢Maks3w的评论。
答案 2 :(得分:1)
我不确定你是否可以这样做,我会改用for循环:
for(i=0; i < count($array1); i++)
{
for(j=0; j < count($array1[i]); j++)
{
echo $array1[i][j];
echo $array2[i][j];
}
}