PHP 数据类型:字符串(string)
简介
一个字符串 string 就是由一系列的字符组成,其中每一个字符等同于一个字节。
如:
"hello world"
语法
- 单引号
- 双引号
- Herrdoc 结构
- Nowdoc 结构
1. 单引号
在单引号字符串中的变量和特殊字符的转义序列将不会被替换。
语法:
<?php
$a = '123456'; //输出:123456
2. 双引号
用双引号定义的字符串最重要的特征是变量会被解析。
语法:
<?php
$a = '我是变量 $a ';
$b = "$a"; //输出:我是变量$a
3. Herrdoc 结构
在「<<<EOT」和「EOT」之间的单双引号,都不会被当成字符串开始和结束标记。这对于我们格式化输出内容是很有用的。
特点:
- 开始标记和结束标记使用相同的字符串,通常以大写字母来写。
- 开始标记后不能出现空格或多余的字符。
- 结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
- 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。
语法:
<?php
$a = '我是 $a ';
<<<EOT
$a
EOT;
//输出:我是变量$a
4. Nowdoc 结构
一个 nowdoc 结构也用和 heredocs 结构一样的标记 <<<, 但是跟在后面的标识符要用单引号括起来,即 <<<’EOT’。
Heredoc 结构的所有规则也同样适用于 nowdoc 结构,尤其是结束标识符的规则。
特点:
- 开始标记和结束标记使用相同的字符串,通常以大写字母来写。
- 开始标记后不能出现空格或多余的字符。
- 结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。
- nowdoc 结构不识别变量
语法:
<?php
$a = '我是 $a ';
<<<'EOT'
$a
EOT;
//输出:$a
转换成字符串
一个值可以通过在其前面加上 (string) 或用 strval() 函数来转变成字符串。在一个需要字符串的表达式中,会自动转换为 string。
NULL 总是被转变成空字符串。