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

Codice PHP:

function & getByRef(){
    
    
$myvar "ciao";
    return 
$myvar;
}
$var = & getByRef();

$myvar "Pippo";

var_dump($var); // stamperà ciao 
lo stesso codice aggiungendo solo la dichiarazione della variabile come globale funzionerà come riferimento

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