Пожалуйста, смотрите этот код:
function addCounter(&$userInfoArray) {
$userInfoArray['counter']++;
return $userInfoArray['counter'];
}
$userInfoArray = array('id' => 'foo', 'name' => 'fooName', 'counter' => 10);
$nowCounter = addCounter($userInfoArray);
echo($userInfoArray['counter']);
Это покажет 11.
Но! Если вы удалите оператор "&" в параметре функции, результат будет равен 10.
Что происходит?