今天我偶然测试了这个,有人可以向我解释为什么这有效,它是什么?
$a = array(
array(
'download' => '1500k'
)
);
echo "Test-{$a[0]['download']}";
输出:Test-1500k
答案 0 :(得分:1)
双引号将字符串计算为表达式并从中提取变量并改为使用它们的值。但单引号显示字符串按。
如果您想了解更多细节,可以在SO中看到this回答。
答案 1 :(得分:0)
您的代码:
echo "Test-{$a[0]['download']}";
与:
相同echo "Test-".$a[0]['download'];
{} \只是在字符串中包装数组项$a[0]['download']
以将其值放在那里
答案 2 :(得分:0)
在双引号字符串的上下文中,变量可以简单地按名称插入,但这不适用于插入数组值,因此需要使用花括号让PHP知道整个数组值是插入字符串。
在你的例子中,如果你删除大括号,你会发现它会抛出一个错误,那是因为PHP无法知道[0] ['下载'部分不仅仅是一个字符串。它会将数组抛出到字符串转换错误。
这就是为什么花括号是必要的。