I found the following code and I don't get why it works :
function test(&$argtest) {
$argtest = 'ok';
}
test($a);
//$a now exists, and is equal to 'ok'.
$a is not defined before calling the function, yet the code works and now $a exists in the global scope. I would have expected an error, since $a is not defined prior to calling the function.
Basically the code I was looking utilizes this approach to declare\init some variables in the global scope.
This only works if the argument of the function is passed by reference.