3

时不时我会看到类似的代码

$str = strip_tags($str)
echo "$str";

这有什么作用吗?为什么将变量放在引号中而不是直接回显它?

4

2 回答 2

3

这只是对新 (PHP) 程序员非常普遍的误解。它恰好与根本不引用变量完全相同,但完全是多余的。我也很想知道为什么人们认为这是必要的;但人们可以经常看到它。

于 2013-06-13T18:27:08.477 回答
3

手册

双引号字符串最重要的特性是变量名将被扩展。

在这种情况下,它根本不做任何事情。

双引号之间的字符串允许解析内部变量,因此,例如,如果您有"sometext $variable sometext"输出将是变量的内容以及其sometext前后的字符串。

如果您只有单引号,您将打印美元符号和变量名称。

所以它是连接字符串和变量的简短版本,但是在这种情况下,周围的字符串是空的,所以它在你问的意义上没有任何影响。

还有其他符号。此处记录了不同的行为和不同的类型:

http://php.net/manual/en/language.types.string.php

于 2013-06-13T18:23:56.543 回答