Переменные переменные
Иногда бывает удобно иметь переменными имена переменных. То есть,
имя переменной, которое может быть определено и изменено
динамически. Обычная переменная определяется примерно таким
выражением:
Переменная переменная берет значение переменной и рассматривает
его как имя переменной. В вышеприведенном примере
hello может быть использовано как имя
переменной при помощи двух знаков доллара. То есть:
Теперь в дереве символов PHP определены и содержатся две
переменные: $a, содержащая "hello", и
$hello, содержащая "world". Таким образом,
выражение
выведет то же, что и
то есть, они оба выведут: hello world.
Для того чтобы использовать переменные переменные с массивами, вы
должны решить проблему двусмысленности. То есть, если вы напишете
$$a[1], обработчику необходимо знать, хотите ли
вы использовать $a[1] в качестве переменной,
либо вам нужна как переменная $$a, а затем ее
индекс [1]. Синтаксис для разрешения этой двусмысленности таков:
${$a[1]} для первого случая и
${$a}[1] для второго.
Внимание
Пожалуйста, обратите внимание, что переменные переменные не могут
использоваться с
Суперглобальными массивами
PHP. Это означает, что вы не можете делать что-то вроде
${$_GET}. Если вы ищете способ использовать
суперглобальные переменные и старые
HTTP_*_VARS, вы можете попробовать
ссылаться на них.