这些PHP字符串插值语法之间有什么区别

nev*_*out 9 php interpolation

"${varname}""{$varname}"PHP的字符串插值有什么区别?(注意位置$)

php文档说你可以使用其中任何一种,但是没有清楚地解释这两种方法之间的区别.实际上有区别吗?

Dan*_*ler 4

第一个是插值加变量变量(动态变量),这意味着您可以在此处使用表达式来定义要插值的变量的名称,"${func()}"而第二个语法用于将变量与文本区分开"some{$variable}text"。你实际上可以将它们结合起来:

function func(){
    return 'foo';
}
$foo = 'bar';
echo "some{${func()}}text";
Run Code Online (Sandbox Code Playgroud)

输出:somebartext