Следующая статья: Что такое переменные переменных на PHP?
Во-первых. Все переменные начинаются с символа $
Во-вторых существуют границы определения переменных. Например что-бы использовать глобальные переменные в функциях, необходимо их сначала декларировать как глобальные, иначе вы будете исопльзовать локальные переменные. Поясню на примере:
$a=1;// глобальное определение
function test()
{ $a=2;
echo $a;// локальная переменная
}
test();
echo $a;
Таким образом в функции используется локальная, собственная переменная и результатом прогарммы будет вывод чисел 2 и 1, а не 2 и 2, как некоторые могли подумать. Ну а если вы хотите в функции использовать глобальные переменные, необходимо сделать так (декларировать с помощью оператора global):
$a=1;// глобальное определение
function test()
{ global $a;
$a=2;
echo $a;// локальная переменная
}
test();
echo $a;
Теперь в функции вы переопредилили глобальную переменную и вывод будет числа 2 и 2. Но есть и другой способ добраться до глобально-определенных данных - через ассоциативный массив $GLOBALS[]. Пример предыдущей программы, реализованный новым способом:
$a=1;// глобальное определение
function test()
{ $GLOBALS['a']=2;
echo $a;// локальная переменная
}
test();
echo $a;
Обратите внимание переменная в массиве указывается без символа $
Кроме этог о PHP предоставляет возможность использовать статические переменный. Все как в C/C++.
function test()
{ static $a=0;
echo $a;
$a++;
}
test(); test(); test();
результатом выполнения этого скрипта будет вывод чисел 0,1 и 2.