PHP如何拼接字符串?
在php里声明一个字符串有2种方式,一种是用单引号,另一种是用双引号。2者最大的区别就是当字符串中包含变量时,单引号不能输出变量的值,而是直接输出变量名,双引号就可以输出变量的值。<?php
$a = 'hello';
$b = 'world';
echo '$a $b'; //输出$a $b
echo "$a $b"; //输出hello world
?>
另外单引号里只能有2种转义字符,\'(表示单引号)和\\(表示反斜杠),双引号就没这个限制。<?php
echo '\'hello\\world\''; //输出'hello\world'
echo "\thello\r\n"; //\t表示制表符,\r\n表示换行
?>
在php中字符串的拼接是用' . ',输出字符串一般是用echo。<?php
$a = 'hello';
$b = 'world';
echo $a . ' ' . $b;//输出hello world ( )表示空格
?>
也可以用大括号{$str}在字符串里内嵌变量,如"文字{$str}文字",如果不用大括号{}就要注意,比如"文字$str文字",这时是输出文"字+$str文字",而不是"文字+$str+文字",当然不用{}也可以用分词字符来把变量和文字分开,分词字符一般是空格,标点符号等。<?php
$a = 'hello';
echo "qqq{$a}qq";//输出qqqhelloqqq
echo "qqq$aqqq";//输出的是qqq$aqqq,而不是qqqhelloqqq
echo "qqq$a qqq";//在$a后面加个空格也是可以得,输出qqq$a qqq
?>
在php也是可以直接书写多行字符串的<?php
$str=<<
'ok',"hello"
I will
{$str1}
STR;
/****
* 其中三个小于号代表多行字符串的输入,STR是字符串界定符,界定符的名字可以自己定义,两个界定符之间的内容就是多行字符串。其中的单引号双引号可以直接输出而不必转义,当然里面也可以直接插入变量,输出是会自动替换变量值的
****/
?>
一个小技巧,当使用 echo进行字符串输出时,如果字符串使用拼接方式组成,可以使用逗号来连接需要拼接的各部分字符串和变量,比如echo 'first',"second",$str,"end";
据说这样输出速度要快一些,原因在于echo可以接受多个参数,并直接按顺序输出,实际上逗号不是拼接字符串,而是把不同字符串和变量作为参数传送给echo命令
本文原创发布php中文网,转载请注明出处,感谢您的尊重!