主页 > 知识库 > PHP定义字符串的四种方式详解

PHP定义字符串的四种方式详解

热门标签:Linux服务器 阿里云 Mysql连接数设置 电子围栏 科大讯飞语音识别系统 团购网站 银行业务 服务器配置

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>
 66666666666br/>
 "666666666"br/>
 $varbr/>
 \$varbr/>
 \n666br>
 /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/>
 66666666666br/>
 "666666666"br/>
 $varbr/>
 \$varbr/>
 \n666br>
 /body>
 /html>
 EOT;

 

注意:

定界符之后必须不能有任何字符【特别是空格字符有时会没注意到】,否则将会出错。

如上例中的EOT后面有空格就会报这个错误:【 Parse error : syntax error, unexpected '' (T_SL)】

总结

以上所述是小编给大家介绍的PHP定义字符串的四种方式详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:
  • php自定义函数实现统计中文字符串长度的方法小结
  • php自定义截取中文字符串-utf8版
  • php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
  • PHP生成自定义长度随机字符串的函数分享
  • php长字符串定义方法

标签:衢州 大理 江苏 广元 衡水 蚌埠 枣庄 萍乡

巨人网络通讯声明:本文标题《PHP定义字符串的四种方式详解》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266