php连接符

很多时候我们需要将几个字符串连接起来显示,在PHP中,字符串之间使用 “点” 来连接,也就是英文中的半角句号 " . " " . " 是字符串连接符,可以把两个或两个以上的字符串链接成一个字符串。例如:

 


1


2


3


4


5




​<?php​


​$name​​ ​​= ​​​​"PHP中文网:"​​​​;​


​$url​​ ​​=  ​​​​"www.php"​​​​;​


​echo​​ ​​$name​​ ​​. ​​​​$url​​ ​​. ​​​​".cn"​​​​;​


​?>​


输出结果为:


1




​PHP中文网: www.php.cn​


应用字符串连接符号没有办法实现大量字符串的连接,PHP允许程序员在双引号中直接包含字符串变量,当echo语句后面使用的是 双引号 (" ")时,可以使用下面的格式来达到相同的效果。例如:


1


2


3


4


5




​<?php​


​$name​​ ​​= ​​​​"PHP中文网:"​​​​;​


​$url​​ ​​=  ​​​​"www.php"​​​​;​


​echo​​ ​​"$name$url.cn"​​​​;     ​​​​// 双引号里的变量同一般的字符串自动进行区分​


​?>​


输出结果为:


1




​PHP中文网:www.php.cn​


字符串echo输出 逗号也可作php连接符

输出多个字符串时,用逗号代替句点来分隔字符串,速度更快。如下4种方式,都能得到同样的结果,但是,只有第4种方式是最好的。


1


2


3


4


5


6


7


8


9


10




​<?php​


​$foo​​ ​​= ​​​​'Tom'​​​​;​


​echo​​ ​​"Hello $foo, welcome to phpcn."​​​​;​


​echo​​ ​​"<br>"​​​​;​


​echo​​ ​​"Hello "​​ ​​. ​​​​$foo​​ ​​. ​​​​" welcome to phpcn."​​​​;​


​echo​​ ​​"<br>"​​​​;​


​echo​​ ​​'Hello '​​ ​​. ​​​​$foo​​ ​​. ​​​​' welcome to phpcn.'​​​​;​


​echo​​ ​​"<br>"​​​​;​


​echo​​ ​​'Hello '​​​​, ​​​​$foo​​ ​​, ​​​​' welcome to phpcn.'​​​​;​


​?>​


说明:

第一个逗号" , "不能运行, 因为使用双引号会强制php为此字符串寻找替换值。

第二个好一些,因为php没有替换需要执行的。

第三个更好,因为使用了单引号,因此语言知道你能够脱离进程传送文本,但是“不好”的事情是使用了连接符(不操作,就行第二个例子一样)。

最后一个使用了单引号,并且加了一个连接符。为什么这样处理最好呢?

我们先看看第三个情况,php创建一个字符串,包含“Hello”,然后扩充它,加上foo变量(“Tom”),然后,再次扩充它,加上“welcome to phpcn.”语句,然后,echo能使用它。

然而第四的情况是,echo唯一做的一件事是发送“Hello”,接着输出$foo的内容,再输出“welcome to phpcn.”。因为echo仅仅是发送文本而没有创建一个需要扩充内容的字符串

到这里,就应该明白了优化​​php字符串​​连接符,可以提高程序运行速度。而且发现原来“,”逗号也可作php的连接符的,平时大家一般都是使用一点“.”作连接符的。是不是感觉很神奇?

据说,这可能是从C开始带过来的习惯,​​printf​​这类的输出都是变参的,echo也继承了这个优良传统。不过需要明白的是,这里的逗号是参数间隔符,不是字符串连接符。

再来说说逗号与句号的区别


1




​echo​​ ​​$str​​​​,​​​​$str2​​​​,​​​​$str3​​​​;​


使用逗号进行运算是逐个输出运算结果


1




​echo​​ ​​$str​​​​.​​​​$str2​​​​.​​​​$str3​​​​;​


使用点号先对所有字符串进行运算得到结果再输出

这样看当然是 逗号的效率比点号高。 因为逗号连接是不需要运算的。