В чем разница между "${varname}"
а также "{$varname}"
в строковой интерполяции PHP? (обратите внимание на положение $
)
Документы php говорят, что вы можете использовать любой из них, но не ясно объясняют, в чем разница между этими двумя методами. Есть ли на самом деле разница?
Первый — это интерполяция плюс переменная переменная (динамическая переменная), что означает, что вы можете использовать здесь выражения, чтобы определить имя переменной, которую вы хотите интерполировать "${func()}"
В то время как второй синтаксис используется, чтобы отличить переменную от текста "some{$variable}text"
, Вы действительно можете объединить их:
function func(){
return 'foo';
}
$foo = 'bar';
echo "some{${func()}}text";
Выходы: somebartext
Других решений пока нет …