Механизм создания переменных с помощью символических ссылок

volodya81

Новичок
Есть такой простой код:

$k="title";
$v="Главная";
$$k = $v;
echo $title;

В результате выведет слово "Главная".
Не могу понять, как создается переменная $title.
Есть условная ячейка памяти под названием $k, которая содержит строку title. Есть еще одна ячейка памяти под названием $v, которая содержит строку "Главная". Кроме того, есть указатель $$k, который указывает на содержимое переменной $v, то есть, указывает на ячейку памяти в которой есть слово "Главная". Так при чем здесь создание еще одной переменной?
 

craz

Нестандартное звание
переменная от переменной то есть

$$k -> $title
в обратную сторону
$title=$v;
$v = 'main';
 

volodya81

Новичок
переменная от переменной то есть

$$k -> $title
в обратную сторону
$title=$v;
$v = 'main';
Спасибо, логика на уровне PHP ясна.

Я так думаю, что на физическом уровне, при об явлении символического указателя создается еще одна переменная, под названием которое содержится в переменной к которой мы добавили $

Тоесть,

$title="Текст";
$k="title";
$v="Главная";
$$k = $v;
echo $title;

В этом примере, значение переменной $titlе изменится с Текст на Главная.
 

craz

Нестандартное звание
Спасибо, логика на уровне PHP ясна.

Я так думаю, что на физическом уровне, при об явлении символического указателя создается еще одна переменная, под названием которое содержится в переменной к которой мы добавили $

Тоесть,

$title="Текст";
$k="title";
$v="Главная";
$$k = $v;
echo $title;

В этом примере, значение переменной $titlе изменится с Текст на Главная.
о чем вы думаете? не надо думать. все и так понятно.
 

jrip

Новичок
Не понял смысл конструкции ${'fff'}.
Смысл такой же как и у:
$v = 'fff';
$$v = 4;

Вообщем я не совсем понимаю вашей проблемы, переменная заменяется значением, появляется новая переменная с именем равным значению.
Как, почему и где это происходит я думаю не сильно важно, а если по какой-то причине важно то можно заглянуть в исходники php.
 
Сверху