В исходных кода Битрикса наткнулся на такую штуку
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, но вот с таким сталкиваюсь впервые. Подскажите пожалуйста это особенность языка, или это Битрикс где-то внутри создает такие переменные?