Ammetto di non aver studiato molto i reference di PHP, ma sono incappato in una stranezza: un metodo che ritorna un reference (quindi tramite operatore &) deve essere usato in un contesto di assegnamento per riferimento, altrimenti si ha sempre la copia.
In altre parole:
function & arrayReference(){ ... }
$arrayRef = arrayReference();
è sbagliato, poiché il metodo ritorna un riferimento, ma questo viene poi usato in un "assegnamento per copia" (la cosa mi ricorda molto il C++). Il modo corretto di procedre è:
function & arrayReference(){ ... }
$arrayRef = & arrayReference();
Nessun commento:
Posta un commento