什么是在PHP中进行串联的正确方法?

时间:2013-06-05 12:58:15

标签: php

我理解单引号和双引号字符串之间存在差异。 在阅读了其他stackOverfow问题并查看this article之后,似乎大多数人都认为使用单引号的性能提升可以忽略不计。

作为一个新的PHP用户总是使用双引号似乎是最逻辑和最混乱的方式。但为什么人们仍然将他们的双引号分开?

<?php

 $a = '12345';

 echo "Numbers: $a !"; //What I think is good
 echo "Numbers: " . $a . " !";  //What my teacher,book and tutorials use.
 echo 'Numbers: ' . $a . ' !'; // Trick that gave a noticeable performance gain pre-PHP 4.3

?>

为什么今天人们更喜欢最新版PHP中的第二种或第三种方式?

2 个答案:

答案 0 :(得分:3)

好吧,假设你有$a = "apple";,并且想把它放在字符串"I love ______s!"

使用插值,您的“首选”方法,您可以尝试:"I love $as!",但当然这不起作用。

这就是为什么我更喜欢使用"I love ".$a."s!",因为这可以防止任何混淆。它也可以很容易地将它更改为数组访问,无论出于何种原因,因此它更“未来更新 - ”。还应该注意的是,大多数代码编辑器都无法突出显示插值变量,因此在视觉上更难找到。

答案 1 :(得分:3)

我通常使用第三种方式:

echo 'Numbers: ' . $a . ' !';

我尽可能使用单引号,因为我觉得它看起来更干净。当我需要像我的字符串中的换行符这样的东西时,我通常会从字符串的其余部分单独写出来。这也指出了这个“特殊”字符串:

echo 'Numbers: ' . $a . ' !' . "\n";

另外我认为在双引号字符串("like $so")中包含变量并不清楚,并且在许多编辑器中你不会有语法高亮。