PHP关联数组 - 单引号 vs 双引号

3
在 PHP 中,使用单引号和双引号来定义关联数组的名称是否有区别呢?实际上并没有。例如: $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43"); $age = array('Peter'=>'35', 'Ben'=>'37', 'Joe'=>'43');
两种方式都可以用于定义关联数组的名称。

两种方式都可以,但是可能其中一种更快或者遵循了我不知道的规则。 - Israel Pinheiro
就速度而言:运行几十万个随机字符串并测量时间。这可能也取决于PHP版本,有关简短说明请参见我的答案。 - Julian F. Weinert
3个回答

6
几乎没有区别。但是,如果使用双引号,则字符串将被计算;嵌入的变量将被扩展。 另一方面,单引号是文字本身,它们按原样处理。
我可以想象,由于计算,双引号会产生轻微的开销,但我怀疑这并不重要。
我个人在编程时使用单引号,在用户呈现的文本中使用双引号,除非另有要求。 这是一个很好的小规则,使生活更容易;-)

1
实际上,单引号更快,但差别微乎其微。双引号更快的说法是一个谬论。 - John Conde
从未听说过这个神话......是的,从本地开发者的角度来看,我认为这就是我所假设的,并且正如我所说的,我也怀疑差异是否显着。不过测试一下也会很有趣...... - Julian F. Weinert
我经常听说单引号更快,因为PHP不解析内容。 - Israel Pinheiro
约翰和我都同意。更快了,但不够快以合理的速度运行。一如既往地欢迎您。 - Julian F. Weinert
我喜欢使用单引号来表示编程内容,而用双引号来表示用户呈现的文本。这也意味着生成 HTML 代码要使用双引号,这是合乎逻辑的。 - BNetz

0

0

不。

在这个上下文中,单引号和双引号只有当引号之间的内容是一个变量时才有关系。

例如,如果 $Test = 43,

$Var["$Test"] = $Var["43"] but $Var['$Test'] = $Var['$Test']

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接