current()); } } class MyClass_Things extends RecursiveArrayIterator { public function __construct($letter) { //do something with $letter and construct it self $array = array(); parent::__construct($array); } } $obj = new MyClass; foreach($obj as $entry){ //I expect each iteration of _Things over each iteration of _Letters //It works. Is it a bad idea? } ?>