PHP字符串定义输出

PHP里定义一个字符串的值有多种方式,适用于不同场景。

1、最普通的格式,用双引号或单引号引用起来的字符,比如

$var123=’我是字符串变量var123‘;

$str=”我是双引号包起来的字符串$var123“;

$str=’我是单引号包起来的字符串';

要问二者有什么区别,在于双引号包起来的字符串可以不需要连接符而直接插入变量,而单引号不会对字符串内的变量格式做处理。

2.如果用“文字{$str}文字”的方式内嵌变量名,则变量名是你所预期指定的,而如果用“文字$str文字”来内嵌变量名,此时变量会被处理成“$str文字”,而不是你所预期的“$str”。之所以如此,是因为没有明确用大括号指明变量的时候,PHP自动处理变量名的时候,是采用的单词分词字符作为界限的,这里一定要注意。分词字符一般是空格标点符号等。

3、如果不使用直接插入变量的方法定义字符串,可以用点号连接多个字符串,比如

$str1=’第一个字符串变量的内容是:’ . $str . ‘,就这么多。';

4、如果遇到需要多行书写的字符串怎么办,比如我们要定义一段JS脚本,当然如果把脚本写在一行里是没问题的,但是如果脚本比较长一些,而且其中会出现很多转义符号的话,不但格式上不好阅读,而且一旦出问题要修改的话,也会很罗嗦。那么有可以把字符串直接定义成多行,并且引号之类的需要转义的字符可以直接输出,我们可以这么定义一段多行字符串:

$str=<<<STR
‘ok’,”hello”
I will
{$str1}
STR;

其中三个小于号代表多行字符串的输入,STR是字符串界定符,界定符的名字可以自己定义,两个界定符之间的内容就是多行字符串。其中的单引号双引号可以直接输出而不必转义,当然里面也可以直接插入变量,输出是会自动替换变量值的。

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

echo  ‘first’,”second”,$str,”end”;

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

About 智足者富

http://chenpeng.info

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>