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的连接符的,平时大家一般都是使用一点“.”作连接符的。是不是感觉很神奇?
据说,这可能是从C开始带过来的习惯,这类的输出都是变参的,echo也继承了这个优良传统。不过需要明白的是,这里的逗号是参数间隔符,不是字符串连接符。
再来说说逗号与句号的区别
1 | echo $str , $str2 , $str3 ; |
使用逗号进行运算是逐个输出运算结果
而
1 | echo $str . $str2 . $str3 ; |
使用点号是先对所有字符串进行运算得到结果再输出。
这样看当然是 逗号的效率比点号高。 因为逗号连接是不需要运算的。