In generale ci sono due modi per passare le variabili alle funzioni
per valore e per riferimento.
Per valore siglifica che l'interprete si copia il valore della variabile e poi lo utilizza e modifica la copia.
L'effetto pratico e' che se modifichi le variabili passate per parametro
all'interno di una funzione alla chiusura di questa le modifiche adranno perse.
Codice PHP:
<?php
function prova($varin) {
$varin ++;
echo "Variabile dentro la funzione ".$varin."
\n";
}
$var = 1;
echo "Variabile prima della funzione ".$var1."
\n";
prova($var);
echo "Variabile dopo la funzione ".$var1."
\n";
?>
Per riferimento come si puo facilmente intuire e' quando non viene passato un valore
ma un riferimento alla variabile e questo lo otteniamo anteponendo una & al passaggio dei parametri.
Codice PHP:
<?php
function prova($varin) {
$varin ++;
echo "Variabile dentro la funzione ".$varin."
\n";
}
$var = 1;
echo "Variabile prima della funzione ".$var1."
\n";
prova(&$var);
echo "Variabile dopo la funzione ".$var1."
\n";
?>
Questo discorso cade per gli oggetti (da PHP5 in su) che sono sempre riferimento allo stesso oggetto.
Andrea
p.s. non ho provato il codice perche' dall'ufficio non ho un web server spero vada bene