Salve. In alcuni script ho notato che veniva anteposto il carattere "&" al nome di una variabile. Mi spiegate il motivo e la funzione di qesto carattere?
Salve. In alcuni script ho notato che veniva anteposto il carattere "&" al nome di una variabile. Mi spiegate il motivo e la funzione di qesto carattere?
associa al nome variabile l' indirizzo e non una copia ... teoricamente php lo fa in automatico ma non e' sempre vero e spesso non ti serve a niente avere copie di variabili o variabili che se modificate creano una copia ...
esempio:
$a = 'pippo';
$b = &$a;
$b = 'pluto';
echo $a; // stampera' pluto
mentre con
$a = 'pippo';
$b = $a;
$b = 'pluto';
echo $a; // stampera' pippo e in automatico php copiera' prima il valore di a in b, poi lo riassocia alla nuova stringa
altro esempio
function somma( &$a, $incrementa ) { $a += $incrementa; }
$a = 2;
somma( $a, 1 );
echo $a; // sara' 3, senza bisogno di usare un return in funzione
function somma( $a, $incrementa ) { $a += $incrementa; }
$a = 2;
somma( $a, 1 );
echo $a; // sara' 2 , quello che accade in funzione non coinvolge $a perche' la $a della funzione sara' una copia di $a e non $a stessa
... altro ancora, la dove non serve una copia, usa la &![]()
Ho capito, più o meno. Grazie (credo che alla fine solo con la pratica potrò rendermi conto di quando utilizzarla!). Ciao!