joshdifabio is technically correct, but I don't see this as a bug. You can't rewind a generator and thats what append iterator does.If you want to use AppendIterator with Generators just wrap them with NoRewindIterator:<?phpfunction foo() { foreach ([] as $foo) { yield $foo; }}$append = new AppendIterator();$append->append(new NoRewindIterator(foo()));var_dump(iterator_to_array($append));https://3v4l.org/pgiXB