<?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]);
You have javascript disabled. You will not be able to edit any code.