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