Anonim

在PHP中,单引号和双引号的处理方式略有不同。 继续阅读以了解评估方式的差异。

单引号

单引号倾向于从更实际的意义上解析事物。 例如,采取以下措施:

$ test =“ BOOOM”; 回声'$ test'

变量名放在单引号中时,不会解析为其实际值。 这是从简单的php程序运行时实际打印的内容:

$测试

我只能想到两种情况,即在单个带引号的字符串中实际解析信息的位置。 首先,要显示单个带引号的字符,必须在其前面加上反斜杠。 否则,它将被解释为字符串的结尾。 其次,要显示反斜杠,必须在其前面加上另一个反斜杠。 例:

回声'单引号:\''; 回声'反斜杠:\\';

双引号

双引号倾向于为您解析内容。 在双引号之间运行时:

$ test =“ BOOOM”; 回声“ $测试”

它输出实际变量值:

布姆

现在,有时您会遇到一种情况,由于某些周围的字符,导致您试图输出的变量名无法正确解析。

$ test =“ BOOOM”; 回显“ $ tested”;

您认为这里得到什么输出? 答案是什么。 PHP查找名为$ tested的变量,由于该变量不存在,因此不会输出任何内容。 输出值后跟“ ed”的正确方法是:

$ test =“ BOOOM”; 回显“ {$ test} ed”;

通过将其包装在大括号内,它使PHP知道变量的开始和停止位置,从而使其能够正确评估变量。

速度差异

我运行了一些简单的基准测试来评估一些不同的方案,两者之间的速度差异可以忽略不计。 单引号的速度稍快一些,这是因为它不必先查找变量然后解析值,但我从未遇到过这样的情况:它足以引起重大变化。 使用适合您当前需求的任何一种。

PHP中单引号和双引号之间的区别