В php есть минимум 3 способа вставки переменной в строку:
https://ideone.com/sN22RT
$x = 'test';
echo("$x {$x} ${x}");
Выводится
test test test
То, что ${x} и {$x} (в отличие от $x) можно использовать перед буквенноцифровым символом понятно, а чем сами эти два способа отличаются между собой?
Отличие в том, что {$x} - это фича именно двойных кавычек, формат обращения к переменной.
А ${x} - это это переменные переменные, общий для языка синтаксис формирования имени переменной из выражения. И позволяет писать внутри фигурных скобок практически любой код на пхп:
function y() {return 'x';}
$x = $y = 'test';
$z = 'w';
echo ${++$z}, " ", ${trim('x')}," ", ${y()}, " ", ${'x'.''};
но вот то, что он работает в закавыченных строках тоже -
echo " ${++$z} ${trim('x')} ${y()} ${'x'.''}";
это для меня сюрприз. И выглядит это несколько жутковато. Но, видимо, это результат проведенной Никитой работы по унификации языка.
Продвижение своими сайтами как стратегия роста и независимости