Задать вопрос
@helixly

Использование $$ в PHP?

В исходных кода Битрикса наткнулся на такую штуку

if ($REQUEST_METHOD=="POST" && strlen($Update)>0)
{
	foreach($arAllOptions as $option)
	{
		$name = $option[0];
		$val = $$name;
		COption::SetOptionString("main", $name, $val);
	}
}


Код немного сократил, оставил саму суть. Тут происходит сохранение изменений из формы. В $option[0] хранится name инпута. Собственно я до этого сталкивался с переменными переменных и конструкцией $$, но не совсем понятно как образуется эта переменная. Например приходят такие данные
$_REQUEST["foo"] = "bar".
Получается что я могу вывести значение вот так:
echo $foo \\ выведет bar
Я конечно не так уж давно знаком с PHP, но вот с таким сталкиваюсь впервые. Подскажите пожалуйста это особенность языка, или это Битрикс где-то внутри создает такие переменные?
  • Вопрос задан
  • 525 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Александр Латышев К ответам на вопрос (5)
magalex
@magalex
Архитектор распределённых систем управления
Вы нашли абсолютно правильную "шутку" битрикса, это он "гадкий" :) создаёт такие переменные вот этой строчкой:
$val = $$name;
Ответ написан