PHP学习(8) 引用字符串常量

在PHP中,有三种方法来定义一个字符串常量。即单引号、双引号以及来自于Unix Shell的here文档。

在介绍三种定义方法之前,先介绍一个变量转换。在PHP中,双引号以及来自于Unix Shell的here文档定义,都会把字符串的变量转换为变量的值。其中,字体串的变量也可以用大括号{}括起来,以示明显。
要注意的是在单引号字符串里是没有变量转换的。
如下代码:

1
2
3
4
5
6
7
8
9
10
11

$name = 'yutuo';
// 引号字符串
echo 'My name is $name';
// 引号字符串
echo "My name is $name";
echo "My name is {$name}";
// here文档字符串
echo <<< end
My name is $name
My name is {$name}
end;

其结果为(输出没有任何换行,为了容易理解,我在结果里换行了):

1
2
3
4
5

My name is $name
My name is yutuo
My name is yutuo
My name is yutuo
My name is yutuo

下面分别对单引号、双引号以及来自于Unix Shell的here文档这三种定义方法进行介绍。

1. 单引号字符串
单引号字符串指用单引号括起来的字符串。它只支持两种转义符,反斜线(\)以及单引号(‘),它们分别以(\\)和(\’)来表示。
要注意的是单引号字符串不支持(\n)这种换行方式,但单引号字符串可以跨行定义。如下代码:

1
2

echo 'My name is yutuo.
I am studing PHP.';

其结果为(输出结果有换行):

1
2

My name is yutuo.
I am studing PHP.

2. 双引号字符串
双引号字符串指用双引号括起来的字符串。它只支持多种转义符,也可以跨行定义。书里说有大括号和中括号,但我在PHP5.3.1下测试是没有的。其支行的转义字符列表如下:

\"       双引号
\n      
\r      
\t       制表符
\\       反斜线
\$       美元符
\000~777 ASCII
\x00~FF  十六ASCII

3. here文档
here文档可以很容易将多行文字放进程序。除了定义方法不同外,它的转义字符以及跨行定义和双引号字符串是完全一样的。
其定义方法为 <<< 标识符,结尾再以单行标识符结尾。要注意的是<<<和标识符之间有一个空格,结尾标识符前不能有空格。
参考代码可以看看最前面的。

参考资料:
PHP程序设计,2003,第四章 字符串,引用字符串常量

posted @ 2010-08-22 22:43  yutuo  阅读(2656)  评论(0编辑  收藏  举报