Глобальные переменные

Чтобы использовать внутри функции переменные, заданные вне ее, эти переменные нужно объявить как глобальные. Для этого в теле функции следует перечислить их имена после ключевого слова global:

Пример. Глобальные переменные

global $var1, $var2;

$a=1;
function Test_g(){
global $a;
$a = $a*2;
echo 'в результате работы функции $a=',$a;
}
echo 'вне функции $a=',$a,', ';
Test_g();
echo "";
echo 'вне функции $a=',$a,', ';
Test_g();
?>

В результате работы этого скрипта получим:

вне функции $a=1, в результате работы 
функции $a=2
вне функции $a=2, в результате работы
функции $a=4

Когда переменная объявляется как глобальная, фактически создается ссылка на глобальную переменную. Поэтому такая запись эквивалентна следующей (массив GLOBALS содержит все переменные, глобальные относительно текущей области видимости):

$var1 = & $GLOBALS["var1"];
$var2 = & $GLOBALS["var2"];

Это значит, например, что удаление переменной $var1 не удаляет глобальной переменной $_GLOBALS["var1"].