3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Item { private $i; public function __construct($i) { $this->i = $i; } } class Foo { // private $arr = [[new Item(1)], [new Item(2)], [new Item(3)]]; private $arr = array(array(1), array(2), array(3)); public function getItems() { return $this->arr; } } class Wrapper { private $i; public function __construct($i) { $this->i = $i; } } $obj = new Foo(); foreach ($obj->getItems() as &$item) { $item = new Wrapper($item[0]); } print_r($obj); print_r(php_version());

preferences:
55.47 ms | 402 KiB | 5 Q