3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public $bar = ""; } $fooArr = [new Foo()]; function modifiesLocallyClonedFoo($fooArr) { $fooArr[0] = clone $fooArr[0]; $fooArr[0]->bar = "bar"; } modifiesLocallyClonedFoo($fooArr); var_dump($fooArr[0]); // Creating a reference to an array item changes the way the array behaves?!?!?!? $bar = &$fooArr[0]; modifiesLocallyClonedFoo($fooArr); var_dump($fooArr[0]);

preferences:
25.21 ms | 402 KiB | 5 Q