PHP从入门到精通(第5版)
上QQ阅读APP看书,第一时间看更新

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将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。

说明

定界符中的字符串支持单引号、双引号,无须转义,并支持字符变量替换。