3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { public $data = [1,2,3,4,5]; public function __construct() { next($this->data); } public function getIter() { foreach ($this->data as $key => $value) { yield $key => $value; } } } $a = new A; $gen = $a->getIter(); var_dump(current($a->data)); foreach ($gen as $key => $value) { var_dump($value); } var_dump(current($a->data));

preferences:
55.31 ms | 2115 KiB | 5 Q