http://www.php.net/manual/pl/functions.arguments.php
Jeżeli wysyłasz do funkcji jakąś zmienną, to w jej miejsce wklejana jest jest jej wartość i dopiero potem wysyłana. Nazywa się to przesyłaniem parametrów przez wartość. Tzn, jeżeli wywołujesz funkcję
function funkcja($a)
{
$a =5;
echo "Inside $a";
}
A następnie wywołasz ją w sposób
$a = 3;
echo "Before $a";
funkcja($a);
echo "After $a";
To zostaną wyświetlone kolejno wartości:
Before 3
Inside 5
After 3
Jeżeli chcesz modyfikować wartość parametrów tak żeby wewnątrz funkcji dało się je na stałe zmienić, musisz skorzystac z referencji. W tym celu odsyłam do linka który podałem na początku posta.