PHP: Best way to iterate two parallel arrays?
You can use a MultipleIterator
:
$iterator = new MultipleIterator;$iterator->attachIterator(new ArrayIterator($array1));$iterator->attachIterator(new ArrayIterator($array2));foreach ($iterator as $values) { var_dump($values[0], $values[1]);}
You can find more examples concerning the various options in the docs.
As of PHP 5.5 you can do this:
foreach (array_map(null, $array1, $array2) as list($item1, $item2)){ var_dump($item1); var_dump($item2);}
http://us3.php.net/manual/en/control-structures.foreach.php#control-structures.foreach.list
<?php$arr1 = array( 'a' => 1, 'b' => FALSE, 'c' => new DateTime() );$arr2 = array( 'foo', TRUE, 7, 5 );reset($arr1);reset($arr2); while ( (list($key, $val) = each($arr1)) && (list($key2, $val2) = each($arr2))) { var_dump($val,$val2); // or whatever you wanted to do with them}