<?phpclass myData implements IteratorAggregate { private $array = []; const TYPE_INDEXED = 1; const TYPE_ASSOCIATIVE = 2; public function __construct( array $data, $type = self::TYPE_INDEXED ) { reset($data); while( list($k, $v) = each($data) ) { $type == self::TYPE_INDEXED ? $this->array[] = $v : $this->array[$k] = $v; } } public function getIterator() { return new ArrayIterator($this->array); }}$obj = new myData(['one'=>'php','javascript','three'=>'c#','java',], );foreach($obj as $key => $value) { var_dump($key, $value); echo PHP_EOL;}?>Good luck!