3v4l.org

run code in 300+ PHP versions simultaneously
<?php class C extends ArrayObject { public function getArrayCopy() {return [__METHOD__];} public function getIterator() {yield __METHOD__;} public function serialize() {return serialize([__METHOD__]);} public function unserialize($data) {} public function offsetGet($key) {return __METHOD__;} public function offsetExists($key) {return TRUE;} public function offsetSet($key, $value) {} public function offsetUnset($key) {} } $o = new C(['x' => 5]); var_export([ 'json' => json_encode($o), '(array)' => (array) $o, '->x' => $o->x, ]);

preferences:
29.71 ms | 402 KiB | 5 Q