3v4l.org

run code in 300+ PHP versions simultaneously
<?php class myData implements IteratorAggregate { public $property1 = "Public property one"; public $property2 = "Public property two"; public $property3 = "Public property three"; public $property4; public function __construct() { $this->property4 = "last property"; } public function getIterator() : ArrayIterator { return new ArrayIterator($this); } } class myIterator implements Iterator { private $position = 0; private $array = array('one', 'two', 'three'); function rewind(): void { $this->position = 0; } function current(): mixed { return $this->array[$this->position]; } function key(): mixed { return $this->position; } function next(): void { ++$this->position; } function valid(): bool { return isset($this->array[$this->position]); } } $renderFunction = function($iterator) { foreach($iterator as $key => $value) { echo "$key: $value\n"; foreach($iterator as $key => $value) { echo " $key: $value\n"; } } }; echo "-----IteratorAggregate-----\n"; $renderFunction(new myData); echo "\n-----Iterator-----\n"; $renderFunction(new myIterator);

This is an error 500

Value for `_results` contains invalid data `array`


preferences:
157.82 ms | 1856 KiB | 8 Q