我正在学习PHP教程,并且遇到了这行代码
redirect_to("manage_content.php?subject={$current_subject["id"]}");
我很惊讶地看到这种方法无需绕过" id"在括号内。
但我不明白为什么。有谁知道吗?
答案 0 :(得分:3)
当你在花括号{}
中包装变量时,PHP解析器会知道里面的任何变量,并且不会像字符串的其余部分一样解析它!
这仅适用于双引号中的字符串 - 单引号字符串采用面值,因此必须进行转义:
$str = 'My cool string! {$array[\'key\']}';
虽然你的例子没有。
因此,将静态字符串放在单引号中是一种最佳实践 - 它是一种微优化,但从技术上来说,它更快一点,因为PHP解析器没有必须通过字符串!