il principio dovrebbe essere che se il return è su una variabile non globale restituisce comunque solo il valore, altrimenti restituisce il riferimento, infatti se fai
lo stesso codice aggiungendo solo la dichiarazione della variabile come globale funzionerà come riferimentoCodice PHP:
function & getByRef(){
$myvar = "ciao";
return $myvar;
}
$var = & getByRef();
$myvar = "Pippo";
var_dump($var); // stamperà ciao
Codice PHP:$myvar = "";// anche se non è indispensabile dichiararla prima
function & getByRef(){
global $myvar;
$myvar = "ciao";
return $myvar;
}
$var = & getByRef();
$myvar = "Pippo";
var_dump($var); // stamperà Pippo
![]()

Rispondi quotando