Yes.. because within a function, it has it's own scope issues, if you use the global keyword, you can access vairables/stuff outside the scope of this function.
Thus, doing a global of your $outside vairable, makes it local within your function.
However, if you change the value of $outside, it will be changed globally, not locally in the function...
Another method would be passing the $outside variable as a paramtere to the function like so..
$variable = "hello";
function printme($variable) {
print $variable;
}
Any questions. just ask.
Cheers.