phparraysloopstraversalsynchronous

Synchronously traverse two flat associative arrays containing identical structures


okay so I have two arrays

$array_one([a] => 2, [b] => 1, [c] => 1);
$array_two([a] => 1, [b] => 2, [c] => 1);

I want to be able to loop through both of these arrays simultaneously so I can make simple comparisons. I looked at using a foreach loop but I can only process the information one array at a time. I also looked at merging the arrays but I can not see the use in doing this since I need both the keys and values to make the comparisons. does anyone have a solution to this problem? I appreciate your time in advanced.

to be specific on the comparisons I want to something to this extent

if ($keyone == $keytwo && $valuetwo <= $valueone)
{
   print_r ($array_two);
}

Would it be possible to use recursion to loop instead of using and iterative loop?


Solution

  • If they have the same keys you can just loop through the keys and use them to index the arrays using array_keys:

    foreach(array_keys($array_one) as $key) {
        // do something with $array_one[$key] and $array_two[$key]
    }
    

    If you're worried about some keys not existing you can try (e.g.) array_key_exists($key,$array_two).