- var_dump: documentation ( source)
<?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]);