PHP: Best way to iterate two parallel arrays? PHP: Best way to iterate two parallel arrays? php php

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}

http://www.php.net/manual/en/function.each.php