php循环遍历多个数组

jkd*_*dba 7 php arrays loops

好的,所以我有两个数组

$array_one([a]=>2,[b]=>1,[c]=>1);
$array_two([a]=>1,[b]=>2,[c]=>1);
Run Code Online (Sandbox Code Playgroud)

我希望能够同时遍历这两个数组,这样我就可以进行简单的比较.我查看了使用foreach循环,但我一次只能处理一个数组的信息.我也考虑过合并数组,但由于我需要键和值来进行比较,所以我无法看到这样做的用法.有没有人有这个问题的解决方案?我很感激你的进步时间.

具体到比较我想要的东西到这个程度

if ($keyone == $keytwo && $valuetwo <= $valueone)
{
   print_r ($array_two);
}
Run Code Online (Sandbox Code Playgroud)

是否可以使用递归来循环而不是使用和迭代循环?

ako*_*ond 20

$array_one = array (
    'a' => 2,
    'b' => 1,
    'c' => 1
);
$array_two = array (
    'a' => 1,
    'b' => 2,
    'c' => 1
);


$iterator = new MultipleIterator ();
$iterator->attachIterator (new ArrayIterator ($array_one));
$iterator->attachIterator (new ArrayIterator ($array_two));

foreach ($iterator as $item)
{
    if ($item [0] > $item [1])
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这真的有点多余,但我看到它有一定的美感.


mat*_*fee 15

如果它们具有相同的键,您可以循环访问键并使用它们来索引数组array_keys:

foreach(array_keys($array_one) as $key) {
    // do something with $array_one[$key] and $array_two[$key]
}
Run Code Online (Sandbox Code Playgroud)

如果您担心某些钥匙不存在,您可以尝试(例如)array_key_exists($key,$array_two).