#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'.''}"; это для меня сюрприз. И выглядит это несколько жутковато. Но, видимо, это результат проведенной Никитой работы по унификации языка.
Комментариев нет:
Отправить комментарий