1.7 - Переменные переменных в php

В php есть возможность создавать переменные используя значение другой переменной. Т.е. создавать переменную в которой можно динамически изменять имя. Для создания простой переменной используется такой способ:


<?php
 $a = 'hello'; 
?>

В этом примере значение "hello" может быть использовано как имя для другой переменной. Для этого нужно вначале, к уже созданной переменной добавить еще один знак доллар.


<?php
 $$a = 'world'; 
?>

Теперь в PHP определены и находятся две переменные: переменная $a со значением "hello", и переменная $hello со значением "world". Для вывода значения новой переменной есть соответствующий синтаксис:

<?php
 echo ${$a}; 
?>

Но можно и так:

<?php
 echo $hello; 
?>

Эти два примера выведут: world.

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