PHPにはイテレータの仕組みがあります。イテレータクラスのインスタンスは、配列同様にforeach文でループを作ることができます。たとえば次の例を見てみましょう。
<?php $iter = new SplQueue(); $iter[] = 1; $iter[] = 2; $iter[] = 3; $sum = 0; foreach ($iter as $v) { $sum += $v; } var_dump($sum); // int(6)
SplQueueというのはキューを実現するイテレータで、ArrayAccessも実装しているので配列のように要素を追加することができます。この場合、3つの要素を持っているのでイテレーションも3回になります。