字符串是一串字符的集合,是PHP中最常用的数据类型之一,字符串的定义主要有三种方式,单引号、双引号、heredoc和nowdoc。
定义一:单引号
'123456'、'abcdefg'、'#¥%……&'、'是大叔'
不解析变量,所见即所得,效率高,不能出现单引号(需转义)
可转义字符
写法 | 输出 | 描述 |
---|---|---|
(两个反斜线) | 反斜线 backslash | |
'(反斜线+单引号) | ' | 单引号 |
定义二:双引号
"我的钱:{$a}元"
解析变量,可以{}包裹变量,不能出现双引号(需转义)
可转义字符
写法 | 输出 | 描述 |
---|---|---|
(两个反斜线) | 反斜线 backslash | |
"(反斜线+双引号) | " | 双引号 |
$(反斜线+$) | $ | 美元 |
n | 换行符 | |
r | 回车符 | |
t | 制表符 |
区别
关于转义,反斜线都可以解析,自己都可以并需要解析,对方都不需要解析,双引号只多了对一些特殊字符的转义。
定义三:heredoc、nowdoc
用于定义大文本
$str = <<< 开始标识符
<font>sdas</font>
"666666666"<br/>
结束标识符;
注意:
- 长字符串的结束符号,要顶到最前面写,前后不能出现任何的字符
- 开始结束符并不是确定的,二者保持一致即可
- 开始结束符命名规则和变量命名规则一样(不能以数字开头,汉字可以),通常用大写字母
heredoc
对变量等的解析类似于双引号,此时双引号会原样输出,相当于一个普通字符
nowdoc
定义时,开始标识符加上 ''
对变量等的解析类似于单引号,此时单引号会原样输出,相当于一个普通字符