5.1 字符串的定义方法
字符串最简单的定义方法是使用单引号(' ')或双引号(" "),另外还可以使用定界符指定字符串。
5.1.1 使用单引号或双引号定义字符串
字符串通常以串的整体作为操作对象,一般用双引号或者单引号标识一个字符串。单引号和双引号在使用上有一定区别。
下面分别使用双引号和单引号来定义一个字符串。例如:
<?php $str1 = "I Like PHP"; //使用双引号定义一个字符串 $str2 = 'I Like PHP'; //使用单引号定义一个字符串 echo $str1; //输出双引号中的字符串 echo $str2; //输出单引号中的字符串 ?>
结果为:I Like PHP
I Like PHP
从上面的结果中可以看出,对于定义的普通字符串看不出两者之间的区别。而通过对变量的处理,即可轻松地理解两者之间的区别。例如:
<?php $test = "PHP"; $str = "I Like $test"; $str1 = 'I Like $test'; echo $str; //输出双引号中的字符串 echo $str1; //输出单引号中的字符串 ?>
结果为:I Like PHP
I Like $test
从以上代码中可以看出,双引号中的内容是经过PHP的语法分析器解析过的,任何变量在双引号中都会被转换为它的值进行输出显示;而单引号的内容是“所见即所得”的,无论有无变量,都被当作普通字符串进行原样输出。
说明
单引号串和双引号串在PHP中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容被作为普通字符进行处理。
5.1.2 使用定界符定义字符串
定界符(<<<)是从PHP 4开始支持的。定界符用于定义格式化的大文本,格式化是指文本中的格式将被保留,所以文本中不需要使用转义字符。在使用时后接一个标识符,然后是格式化文本(即字符串),最后是同样的标识符结束字符串。
定界符格式如下:
<<<str 格式化文本 str
其中,符号“<<<”是关键字,必须使用;str为用户自定义的标识符,用于定义文本的起始标识符和结束标识符,前后的标识符名称必须完全相同。
结束标识符必须从行的第一列开始,而且也必须遵循PHP中其他任何标签的命名规则:只能包含字母、数字、下画线,而且必须以下画线或非数字字符开始。
例如,应用定界符输出变量中的值,可以看到它和双引号没什么区别,包含的变量也被替换成实际数值,代码如下:
<?php $str="明日科技编程词典"; echo <<<strmark <font color="#FF0099"> $str上市了,详情请关注编程词典网:www.mrbccd.com </font> strmark; ?>
结果为:明日科技编程词典上市了,详情请关注编程词典网:www.mrbccd.com
在上面的代码中,值得注意的是,在定界符内不允许添加注释,否则程序将运行出错。结束标识符所在的行不能包含任何其他字符,而且不能被缩进,在标识符前后不能有任何空白字符或制表符。如果破坏了这条规则,则程序不会被视为结束标识符,PHP将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。
说明
定界符中的字符串支持单引号、双引号,无须转义,并支持字符变量替换。