在PHP中,单引号和双引号的处理方式略有不同。 继续阅读以了解评估方式的差异。
单引号
单引号倾向于从更实际的意义上解析事物。 例如,采取以下措施:
$ test =“ BOOOM”; 回声'$ test'
变量名放在单引号中时,不会解析为其实际值。 这是从简单的php程序运行时实际打印的内容:
$测试
我只能想到两种情况,即在单个带引号的字符串中实际解析信息的位置。 首先,要显示单个带引号的字符,必须在其前面加上反斜杠。 否则,它将被解释为字符串的结尾。 其次,要显示反斜杠,必须在其前面加上另一个反斜杠。 例:
双引号
双引号倾向于为您解析内容。 在双引号之间运行时:
$ test =“ BOOOM”; 回声“ $测试”
它输出实际变量值:
布姆
现在,有时您会遇到一种情况,由于某些周围的字符,导致您试图输出的变量名无法正确解析。
$ test =“ BOOOM”; 回显“ $ tested”;
您认为这里得到什么输出? 答案是什么。 PHP查找名为$ tested的变量,由于该变量不存在,因此不会输出任何内容。 输出值后跟“ ed”的正确方法是:
$ test =“ BOOOM”; 回显“ {$ test} ed”;
通过将其包装在大括号内,它使PHP知道变量的开始和停止位置,从而使其能够正确评估变量。
速度差异
我运行了一些简单的基准测试来评估一些不同的方案,两者之间的速度差异可以忽略不计。 单引号的速度稍快一些,这是因为它不必先查找变量然后解析值,但我从未遇到过这样的情况:它足以引起重大变化。 使用适合您当前需求的任何一种。