四种PHP定义字符串的方式
2018-03-06 12:55
369 查看
阅读目录1、简介
2、单引号与双引号
2.1、单引号
2.2、双引号
2.3、单双引号之间的区别
3、heredoc与nowdoc
3.1、heredoc
3.2、nowdoc
从上面例子中我们可以明显看到,变量是没有被解析的;同时带反斜杠的转义字符仅仅只有单引号、反斜杠被转义输出了,其他的是直接输出。
eg.
由上面例子我们可以知道,双引号中的变量被解析了,替换成字符串;其他带反斜杠的转义字符都进行了相应的转义。
3、性能速度问题,由于双引号中的字符串需要检测是否含有$符号修饰的变量,因此从理论上讲,单引号是比较快的。
从打印的结果我们可以看出:此时双引号仅仅只是一个普通字符;其他的效果和双引号的字符串效果一致。
注意: 定界符之后必须不能有任何字符【特别是空格字符有时会没注意到】,否则将会出错。 如上例中的EOT后面有空格就会报这个错误:【Parse error: syntax error, unexpected '<<' (T_SL)】 (以上是自己的一些见解,若有不足或者错误的地方请各位指出) 作者:那一叶随风 http://www.cnblogs.com/phpstudy2015-6/ 原文地址:http://www.cnblogs.com/phpstudy2015-6/p/8418822.html
2、单引号与双引号
2.1、单引号
2.2、双引号
2.3、单双引号之间的区别
3、heredoc与nowdoc
3.1、heredoc
3.2、nowdoc
1、简介
在PHP中这门语言中,因为是弱类型语言,因此使用变量时不需提前定义即可使用。 我们在使用php进行开发的时候,大多数使用双引号、单引号进行定义字符串。既然有这两种方式,那么他们之间肯定是有区别的。 并且,除了单双引号定义字符串这两种方式外,php还增加了heredoc和nowdoc这两种语法糖进行补充。2、单引号与双引号
2.1、单引号
在单引号中,任何特殊字符都会按原样输出【除\\、\‘将会被转义输出】eg.1 <?php 2 $var = 'this is a var!'; 3 echo '666$var666、\'、\"、\\、\n、\r、\t、\$';
从上面例子中我们可以明显看到,变量是没有被解析的;同时带反斜杠的转义字符仅仅只有单引号、反斜杠被转义输出了,其他的是直接输出。
2.2、双引号
在双引号中,遇到$将会解析该变量; 双引号中会转义反斜杠的转义字符;转义字符代码 | 转义字符的含义 |
\ " | 双引号 |
\ ' | 单引号 |
\ \ | 反斜杠 |
\ n | 换行符 |
\ r | 回车符 |
\ t | 制表符 |
\ $ | 美元符号 |
1 <?php 2 $var = 'this is a var!'; 3 echo "666$var 666、\'、\"、\\、\n、\r、\t、\$";
由上面例子我们可以知道,双引号中的变量被解析了,替换成字符串;其他带反斜杠的转义字符都进行了相应的转义。
2.3、单双引号之间的区别
以上两者主要区别: 1、双引号会替换变量的值,而单引号会把它当做字符串输出。 2、对于转义的支持3、性能速度问题,由于双引号中的字符串需要检测是否含有$符号修饰的变量,因此从理论上讲,单引号是比较快的。
3、heredoc与nowdoc
3.1、heredoc
heredoc可以理解为不使用双引号来定义字符串,但效果与使用双引号一致。【此时双引号相当于普通字符】语法要求: 1、开始标记和结束标记使用相同的字符串,通常以大写字母来写。 2、开始标记后不能出现空格或多余的字符。 3、结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。 4、位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。eg.1 <?php 2 3 $var = 'this is suifeng'; 4 5 echo <<<"EOT" 6 7 <!DOCTYPE html> 8 <html> 9 <head> 10 <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> 11 <title>"随风"</title> 12 </head> 13 <body> 14 66666666666<br/> 15 "666666666"<br/> 16 $var<br/> 17 \$var<br/> 18 \n666<br> 19 </body> 20 </html> 21 22 EOT;
从打印的结果我们可以看出:此时双引号仅仅只是一个普通字符;其他的效果和双引号的字符串效果一致。
3.2、nowdoc
同理,nowdoc是不使用单引号来定义,但效果相当于使用单引号来定义的字符串。【此时单引号相当于普通字符】 语法同heredoceg.1 <?php 2 3 $var = 'this is suifeng'; 4 5 echo <<<'EOT' 6 7 <!DOCTYPE html> 8 <html> 9 <head> 10 <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> 11 <title>"随风"</title> 12 </head> 13 <body> 14 '02020'<br/> 15 \'<br/> 16< b2ab /span> 66666666666<br/> 17 "666666666"<br/> 18 $var<br/> 19 \$var<br/> 20 \n666<br> 21 </body> 22 </html> 23 24 EOT;
注意: 定界符之后必须不能有任何字符【特别是空格字符有时会没注意到】,否则将会出错。 如上例中的EOT后面有空格就会报这个错误:【Parse error: syntax error, unexpected '<<' (T_SL)】 (以上是自己的一些见解,若有不足或者错误的地方请各位指出) 作者:那一叶随风 http://www.cnblogs.com/phpstudy2015-6/ 原文地址:http://www.cnblogs.com/phpstudy2015-6/p/8418822.html
相关文章推荐
- PHP定义字符串的四种方式详解
- PHP定义字符串的四种方式
- PHP定义字符串的四种方式
- php字符串的定义方式及区别
- php 字符串的四种表达方式-两种定界符(界定符)
- PHP中来定义字符串的三种方式(第三章 字符串与正则表达式)
- php基础系列之字符串——字符的四种方式表达
- PHP字符串三种定义方式
- PHP字符串三种定义方式
- PHP定义函数的几种方式
- php的四种常见运行方式
- Java,php,python,js 定义多行字符串
- 结构体的四种定义方式及其区别
- PHP页面之间传递参数的四种方式
- php 生成xml 的四种方式
- jquery ajax post 方式 data中以json形式并且定义的是拼接好的字符串变量
- php数组的定义和输出方式总结
- PHP中定义数组的三种方式
- php取随机数 explode劫取字符串 时间定义随机数
- php访问url的四种方式