Questo è il test e la risposta che ottengo. Penso che questo potrebbe essere problematico e dovrebbe generare un errore o un avviso, ma non riesco a capire perché sia tollerato.la ricorsione dell'array PHP non dovrebbe generare un errore?
<?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* } } }
?>
Sono piuttosto sorpreso di poter fare riferimento a '$ test' nella stessa espressione che ha definito' $ test'. '$ test = array ('test'); $ test [] = &$test; 'è abbastanza chiaro. Ma il tuo ... – Gumbo
Questo non è un problema reale e sono rimasto sorpreso anch'io. Stavo solo giocando con matrici e ho colpito un dilemma personale. –
@Gumbo PHP è strano. È possibile assegnare riferimenti prima che il valore esista: '$ x = & $y; $ y = 5;' ad esempio è valido, con '$ y' non essendo mai stato definito in precedenza. – Paulpro