- gc_collect_cycles: documentation ( source)
<?php
$originalObj = new A;
class A {
var $foo = 'default value';
}
// Important note: If you remove the &, the bug disappears.
function changeFooWithUnusedReference( &$unusedReferenceToFoo, $newValue ) {
global $originalObj;
$newObj = clone $originalObj;
echo $originalObj->foo . "\n";
echo $newObj->foo . "\n";
$newObj->foo = $newValue;
echo $originalObj->foo . "\n";
echo $newObj->foo . "\n";
}
changeFooWithUnusedReference( $originalObj->foo, 'Some other value' );
gc_collect_cycles();