Библиотека plusby.com Руководство по Smarty
Иллюстрированный самоучитель по Maple
Учебник РНР
НазадГлава 7. Переменные Вперёд

Переменные переменные

Иногда удобно иметь переменные как имена переменных. То есть имена переменных, которые могут устанавливаться и использоваться динамически. Нормальная переменная устанавливается примерно таким оператором:

$a = "hello";

Переменная переменная/variable variable принимает значение переменной и рассматривает его как имя переменной. В предыдущем примере, hello может использоваться как имя переменной с помощью двух знаков dollar. То есть:

$$a = "world";

После этого в дереве символов РНР определены две переменные: $a с содержимым "hello" и $hello с содержимым "world". Следовательно, оператор

echo "$a ${$a}";

даст тот же вывод, что и

echo "$a $hello";

то есть оба они дадут на выходе: hello world

Чтобы использовать переменные переменные с массивами, вы должны разрешить проблему неоднозначности. То есть, если вы записываете $$a[1], то разборщику необходимо знать, будете ли вы использовать $a[1] как переменную, или вы хотите использовать $$a как переменную, а затем как индекс [1] из этой переменной. Синтаксис для разрешения этой неоднозначности таков: ${$a[1]} для первого случая и ${$a}[1] - для второго.

Пожалуйста отметьте, что переменные переменные не могут использоваться с новыми суперглобалами РНР. Это значит, что вы не можете делать что-либо вроде ${$_GET}. Если вы ищете способ работать с superglobals и старыми HTTP_*_VARS, вы можете попытаться ссылаться на них.


Назад Оглавление - Учебник PHP Вперёд
Область видимости переменной Вверх Переменные вне PHP
http://www.informazioni.ru/
Нужные уроки и маркетинг стимулирование сбыта обучайся