dongqian2021
2014-01-14 07:56
浏览 214
已采纳

使用foreach循环同时循环通过两个多维数组

i am trying to loop through two multi-dimensional array with a foreach loop

[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 ) ) 
  )

both has same keys,

i want to access 1st array of both arrays at same time, i want to do something like this

foreach($array1 as $key1=>$value1 && $array2 as $key2=>$value2)
    echo $value1[1]."  ".$value2[2]

its not correct, but that's what i want to do !!

图片转代码服务由CSDN问答提供 功能建议

我试图用foreach循环遍历两个多维数组 < pre> [array1] =&gt; 数组( [0] =&gt;数组(1,2,3) [1] =&gt;数组(4,5,6) [2] =&gt;数组(7,8,9) ) [array2] =&gt; 数组( [0] =&gt;数组(1,2,3) [1] =&gt;数组(4,5,6) [2] =&gt;数组(7,8,9) ) )

两者都有相同的键,

我想同时访问两个数组的第一个数组, i想做类似的事情

  foreach($ array1 as $ key1 =&gt; $ value1&amp;&amp; $ array2 as $ key2 =&gt; $ value2)\  n echo $ value1 [1]。“”。$ value2 [2] 
   
 
 

它不正确,但这就是我想做的事情!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • douzhi3105 2014-01-14 08:01
    已采纳

    If the keys are identical between the two arrays in both dimensions :

    foreach (array_keys($array1) as $key1) {
        foreach (array_keys($array1[$key1]) as $key2) {
            echo $array1[$key1][$key2].' '.$array2[$key1][$key2];
        }
    }
    

    Worst case scenario, some keys in one dimension or the other are missing in one or both arrays and you have to merge them prior to reading (and ensure the existence of the key's value in each loop & array).


    UPDATE: used the same solution twice for two-dimensional array structure.

    点赞 评论
  • dongzhi1949 2014-01-14 08:02

    You can use this code, because you have same keys

    foreach($array1 as $key=>$value) {
        for($i=0; $i < count($value); $i++) {
            echo $value[$i]."  ".$array2[$key][$i];
        }
    }
    

    Thanks Maks3w for your comment.

    点赞 评论
  • douyong6589 2014-01-14 08:03

    im not sure if you can do this, i would use a for loop instead:

    for(i=0; i < count($array1); i++)
    {
       for(j=0; j < count($array1[i]); j++)
       {
           echo $array1[i][j];
           echo $array2[i][j];
       }
    }
    
    点赞 评论

相关推荐 更多相似问题