Originariamente inviato da biagiopas
ritornare un riferimento ad una variabile, oggetto o primitiva o stringa, creata localmente è un errore concettuale di programmazione che in altri linguaggi meno permissivi non sarebbe possibile

tra le due sono piu propenso a credere che php si accorge della boiata e rimedia automaticamente senza dirtelo,
sono daccordo con te, aggiungerei solo che questo comportamento è abbastanza in linea con le 'politiche' di PHP sulle variabili, ad esempio in php puoi permetterti di fare cose del tipo:

Codice PHP:
$var1 "3"// con virgolette quindi stringa

$var2 "5.2" $var1// sommo una stringa a una variabile stringa ... e ottengo un float!!
// anche in questo caso php si accorge della boiata e rimedia 
che su altri linguaggi sarebbero assurde, ma alla fine il fatto che php sia molto poco tipizzato forse è anche la ragione della sua diffusione, è decisamente più facile per chi inizia a programmare buttarsi su un linguaggio come php piuttosto che buttarsi su un linguaggio fortemente tipizzato.