Глобальні змінні
Щоб використовувати всередині функції змінні, задані поза нею, ці змінні потрібно оголосити як глобальні. Для цього в тілі функції слід перерахувати їх імена після ключового слова global:
global $ var1, $ var2;
Приклад. Глобальні змінні
<?
$a = 1;
function Test_g () {
global $a;
$a = $a * 2;
echo 'в результаті роботи функції $ a =', $a;
}
echo 'поза функції $a =', $a, ',';
Test_g ();
echo "<br>";
echo 'поза функції $a =', $a, ',';
Test_g (); ?>
У результаті роботи цього скрипта одержимо:
поза функції $a = 1, в результаті роботи
функції $a = 2
поза функції $a = 2, в результаті роботи
функції $a = 4
Коли змінна оголошується як глобальна, фактично створюється посилання на глобальну змінну. Тому такий запис еквівалентний наступному (масив $GLOBALS містить всі змінні, глобальні щодо поточної області видимості):
$Var1 = & $GLOBALS ["var1"];
$Var2 = & $GLOBALS ["var2"];
Це означає що видалення змінної $var1 не видаляє глобальної змінної $GLOBALS ["var1"].