字符串类型
定义字符串类型例子:
$var_char = "你好!";
在该例子中,我们定义了一个字符串:你好! ,并把这个字符串赋值给变量 $var_char ,那么该变量也自动被定义为字符串(string)类型。
定义字符串有 3 种方法:
- 单引号(')
- 双引号(")
- 定界符(<<<)
单引号定义
将字符串用单引号(')括起来是定义字符串最简单的方法:
<?php $var_char = '这是一些字符串'; ?>
如果字符串中有单引号,那么需要使用反斜线(\)进行转义:
<?php $var_char = '字符串中包含'需要转义'; echo $var_char; //输出:字符串中包含'需要转义 ?>
提示:如果在单引号之前或字符串结尾需要出现一个反斜线,需要用两个反斜线表示。换言之反斜线在此只转义 ' 字符而不会转义其他字符。
如果只是定义一个简单的字符串而不需要解析更多的内容,显然用单引号效率更高。
双引号定义
如果用双引号(")定义字符串,PHP 懂得更多特殊字符的转义序列:
转义序列 | 说明 |
---|---|
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\[/td> | 反斜线 |
\$ | 美元符号 |
\" | 双引号 |
\[0-7]{1,3} | 此正则表达式序列匹配一个用八进制符号表示的字符 |
\x[0-9A-Fa-f]{1,2} | 此正则表达式序列匹配一个用十六进制符号表示的字符 |
例子:
<?php $var_char = "这里有个换行\n这是第二行文字"; ?>
运行该例子,查看网页源代码显示:
这里有个换行 这是第二行文字
注意该例子中的换行是指文本意义上换行,如果需要在浏览器里显示换行,需要用 nl2br() 函数将 \n 替换成 <br />。
双引号字符串最重要的一点是其中的变量名会被变量值解析替代:
<?php $var_char = "这是一些文字"; echo "请打印这些文字:$var_char"; //输出:请打印这些文字:这是一些文字 ?>
定界符定义
定界符定义字符串是使用定界符语法(<<<),并在定界符之后提供一个标识符,然后是被定义的字符串,最后是同样的标识符结束字符串定义。
例子:
<?php $str = <<<EOD 我是用定界符定义字符串的例子 这是其他更多字符 …… EOD; ?>
该例子中,EOD 就是标识符。结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。
注意:结束标识符所在的行不能有任何其他字符(可能除了一个分号 ; 之外),包括行缩进等。
提示
字符串不仅仅指上面例子所示的若干文字字符,也可以把数字定义为字符串,甚至巨大的长文本,这是和数据库中的 char 定义不一样的地方。