3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { public $a; public function __construct(int $value) { $this->a = $value; } } class B { public $ar = array(); public function addValue(A $value) { $this->ar[] = $value; } public function print(){ var_dump($this->ar); } public function selectValue() { foreach($this->ar as &$value){ $value->a += 10; } } public function __clone(){ $this->ar = clone $this->ar; } } $one = new A(10); $two = new A(15); $b = new B; $b->addValue($one); $b->addValue($two); $b->print(); $c = new B; $c = $b->cl(); //$c = clone $b; $b->selectValue(); $c->print();

preferences:
17.42 ms | 402 KiB | 5 Q