PDO :: query () returns a PDOStatement that implements the Traversable interface .
The SPL class IteratorIterator wraps any Callbacks as an Iterator .
And another SPL class, AppendIterator , can "concatenate" iterators to act as one iterator.
<?php
$result1 = $pdo1->query('SELECT * FROM foo');
$result2 = $pdo2->query('SELECT * FROM foo');
$it = new AppendIterator;
$it->append(new IteratorIterator($result1));
$it->append(new IteratorIterator($result2));
foreach($it as $row) {
echo join(', ', $row), "\n";
}
source
share