时间:2021-05-26
1、简介
在PHP中这门语言中,因为是弱类型语言,因此使用变量时不需提前定义即可使用。
我们在使用php进行开发的时候,大多数使用双引号、单引号进行定义字符串。既然有这两种方式,那么他们之间肯定是有区别的。
并且,除了单双引号定义字符串这两种方式外,php还增加了heredoc和nowdoc这两种语法糖进行补充。
2、单引号与双引号
2.1、单引号
在单引号中,任何特殊字符都会按原样输出【除\\、\‘将会被转义输出】
eg.
<?php$var = 'this is a var!';echo '666$var666、\'、\"、\\、\n、\r、\t、\$';从上面例子中我们可以明显看到,变量是没有被解析的;同时带反斜杠的转义字符仅仅只有单引号、反斜杠被转义输出了,其他的是直接输出。
2.2、双引号
在双引号中,遇到$将会解析该变量;
双引号中会转义反斜杠的转义字符;
<?php$var = 'this is a var!'; echo "666$var 666、\'、\"、\\、\n、\r、\t、\$";转义字符代码 转义字符的含义 \ " 双引号 \ ' 单引号 \ \ 反斜杠 \ n 换行符 \ r 回车符 \ t 制表符 \ $ 美元符号
由上面例子我们可以知道,双引号中的变量被解析了,替换成字符串;其他带反斜杠的转义字符都进行了相应的转义。
2.3、单双引号之间的区别
以上两者主要区别:
1、 双引号会替换变量的值,而单引号会把它当做字符串输出。
2、对于转义的支持
3、性能速度问题,由于双引号中的字符串需要检测是否含有$符号修饰的变量,因此从理论上讲,单引号是比较快的。
3、heredoc与nowdoc
3.1、heredoc
heredoc可以理解为不使用双引号来定义字符串,但效果与使用双引号一致。【此时双引号相当于普通字符】
语法要求:
1、开始标记和结束标记使用相同的字符串,通常以大写字母来写。
2、开始标记后不能出现空格或多余的字符。
3、结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
4、位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。
eg.
<?php $var = 'this is suifeng'; echo <<<"EOT" <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> <title>"随风"</title> </head> <body> 66666666666<br/> "666666666"<br/> $var<br/> \$var<br/> \n666<br> </body> </html> EOT;从打印的结果我们可以看出:此时双引号仅仅只是一个普通字符;其他的效果和双引号的字符串效果一致。
3.2、nowdoc
同理,nowdoc是不使用单引号来定义,但效果相当于使用单引号来定义的字符串。【此时单引号相当于普通字符】
语法同heredoc
eg.
<?php $var = 'this is suifeng'; echo <<<'EOT' <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> <title>"随风"</title> </head> <body> '02020'<br/> \'<br/> 66666666666<br/> "666666666"<br/> $var<br/> \$var<br/> \n666<br> </body> </html> EOT;注意:
定界符之后必须不能有任何字符【特别是空格字符有时会没注意到】,否则将会出错。
如上例中的EOT后面有空格就会报这个错误:【 Parse error : syntax error, unexpected '<<' (T_SL)】
总结
以上所述是小编给大家介绍的PHP定义字符串的四种方式详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
第一种方法:用php的strpos()函数判断字符串中是否包含某字符串的方法if(strpos('?>第四种、stristrstristr()函数查找字
下面给大家介绍PHP将字符串转换成数字的四种方法。方法1:使用number_format()函数。number_format()函数用于将字符串转换为数字。它会
Java中字符串中子串的查找共有四种方法,如下:1、intindexOf(Stringstr):返回第一次出现的指定子字符串在此字符串中的索引。2、intind
PHP支持8种基本的数据类型。四种标量类型:boolean(布尔型)integer(整型)float(浮点型,也称作double)string(字符串)两种复合
Java中字符串中子串的查找共有四种方法(indexof())indexOf方法返回一个整数值,指出String对象内子字符串的开始位置。如果没有找到子字符串,