Дипломные работы, курсовые проекты на заказ, контрольные работы на заказ

 
Начертательная геометрия Практикум по решению задач Геометрическое черчение Инженерная графика ЕСКД Кратные интегралы Математический анализ Матрицы Пределы Производные Векторная алгебра Интегральное исчисление ТФКП Ядерная физика Электростатика Магнетизм Оптика Информационные технологии
Учебник РНР
НазадГлава 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