这可能是一个非常基本的问题,但我一直在努力寻找一个合适的答案。还有我的第一个问题,所以请温柔一点。
当将字符串与变量组合在一起时,我理解在单引号字符串中的包围变量不会扩展变量,而双引号字符串将扩展变量(和其他特殊字符),这将导致以下两个示例中的语法:
$animal1='brown fox';
$animal2='lazy dog';
echo "The quick $animal1 jumps over the $animal2";
echo 'The quick '.$animal1.' jumps over the '.$animal2;我记得,PHP解析单引号封装字符串的速度比双引号封装字符串快,因为它不需要花时间寻找需要解析的变量。这是真的吗?如果是的话,当连接一个字符串和一个变量时,是否会丢失这一增益,如第二个示例所示?
我的主要问题是:在处理字符串和变量时(如上面的示例所示),这两种封装方式是否都更好?
发布于 2013-10-16 10:31:15
我记得,PHP解析单引号封装字符串的速度比双引号封装字符串快,因为它不需要花时间寻找需要解析的变量。这是真的吗?
不,这是错误的,见驳斥单引号性能神话(2012年1月;由Nikic)
我的主要问题是:在处理字符串和变量时(如上面的示例所示),这两种封装方式是否都更好?
这只是一个品味问题,找到你的方向,不要被你在网上发现的误导和虚假信息分心。写好你可以阅读和编辑它的方式。
发布于 2013-10-16 10:33:42
在一般情况下使用'而不是"要快得多。这种差异是如此之小,尽管在大多数PHP应用程序中,您永远不会注意到这种差异。关于连接,两者的速度是相似的,两者之间的差别很小,请阅读下面的基准测试:https://stackoverflow.com/a/1813685/2859624
发布于 2013-10-16 10:33:55
虽然只有极小的时间差(例如,与服务器-客户端通信时间相比有些疏忽),但有一种方法可以使文本更加清晰。后者使您更容易发现插入到文本中的变量。
我总是从常规文本中删除变量,就像你给出的例子2一样。
https://stackoverflow.com/questions/19401051
复制相似问题