php字符串拼接

  在php里声明一个字符串有2种方式,一种是用单引号,另一种是用双引号。2者最大的区别就是当字符串中包含变量时,单引号不能输出变量的值,而是直接输出变量名,双引号就可以输出变量的值。

1 <?php
2 $a = 'hello';
3 $b = 'world';
4 echo '$a $b';  //输出$a $b
5 echo "$a $b"; //输出hello world
6 ?>

  另外单引号里只能有2种转义字符,\'(表示单引号)和\\(表示反斜杠),双引号就没这个限制。

1 <?php
2 echo '\'hello\\world\''; //输出'hello\world'
3 echo "\thello\r\n";  //\t表示制表符,\r\n表示换行
4 ?>

  在php中字符串的拼接是用' . ',输出字符串一般是用echo。

1 <?php
2 $a = 'hello';
3 $b = 'world';
4 echo $a . '&nbsp;' . $b;//输出hello world    (&nbsp;)表示空格
5 ?>

  也可以用大括号{$str}在字符串里内嵌变量,如"文字{$str}文字",如果不用大括号{}就要注意,比如"文字$str文字",这时是输出文"字+$str文字",而不是"文字+$str+文字",当然不用{}也可以用分词字符来把变量和文字分开,分词字符一般是空格,标点符号等。

1 <?php
2 $a = 'hello';
3 echo "qqq{$a}qq";//输出qqqhelloqqq
4 echo "qqq$aqqq";//输出的是qqq$aqqq,而不是qqqhelloqqq
5 echo "qqq$a qqq";//在$a后面加个空格也是可以得,输出qqq$a qqq
6 ?>

  在php也是可以直接书写多行字符串的

 1 <?php
 2 $str=<<<STR
 3 'ok',"hello"
 4 I will
 5 {$str1}
 6 STR;
 7 
 8 /****
 9  * 其中三个小于号代表多行字符串的输入,STR是字符串界定符,界定符的名字可以自己定义,两个界定符之间的内容就是多行字符串。其中的单引号双引号可以直接输出而不必转义,当然里面也可以直接插入变量,输出是会自动替换变量值的
10 ****/
11 ?>

  一个小技巧,当使用 echo进行字符串输出时,如果字符串使用拼接方式组成,可以使用逗号来连接需要拼接的各部分字符串和变量,比如

echo 'first',"second",$str,"end";

据说这样输出速度要快一些,原因在于echo可以接受多个参数,并直接按顺序输出,实际上逗号不是拼接字符串,而是把不同字符串和变量作为参数传送给echo命令

posted @ 2015-05-10 17:43  museluo  阅读(42356)  评论(0编辑  收藏  举报