This is the test and the response I get. I think this could be problematic and should throw an error or a notice but I cannot understand why is tolerated.
<?php
$test = array( 0 => 'test', 1=> &$test );
var_dump( $test );
// array(2) { [0]=> string(4) "test" [1]=> &array(2) { [0]=> string(4) "test" [1]=> &array(2) { [0]=> string(4) "test" [1]=> *RECURSION* } } }
?>
$testin the same expression that defined$test.$test = array('test'); $test[]=&$test;is pretty clear. But yours …$x =& $y; $y = 5;for example is valid, with$yhaving never been defined earlier.