PHP 字符串(string)定义方式一:单引号
1. 单引号不能解析变量。
示例1:
<?php
$a=100;
$str='a {$a} b &$a& c';
echo $str; //a {$a} b &$a& c
?>
2. 除了单引号和反斜线本身,单引号定义的字符串不能解析转义字符。
示例2:
<?php
$str='a \$ b \' c \\ d';
echo $str; //a \$ b ' c \ d
?>
3. 单引号中可直接使用双引号做为字符。
示例3:
<?php
$str='His name is "Cristiano Ronaldo".';
echo $str; //His name is "Cristiano Ronaldo".
?>
4. 变量和变量、变量和字符串、字符串和字符串之间可以用 . 连接。
示例4:
<?php
$tireqty=2;
$oilqty=4;
$sparkqty=6;
$str='<p>Your order is as follows:</p>'
.$tireqty.' tires<br/>'
.$oilqty.' bottles of oil<br/>'
.$sparkqty.' spark plugs<br/>';
echo $str;
/* 输出
Your order is as follows:
2 tires
4 bottles of oil
6 spark plugs
*/
?>
5. 单引号效率高于双引号。
PHP 字符串(string)定义方式二:双引号
1. 双引号可以解析变量,变量可以使用 {} 或特殊字符包含。用于包含变量时 {} 在字符串中不显示。
示例5:
<?php
$a=100;
$str="a {$a} b &$a& c";
echo $str; //a 100 b &100& c
?>
2. 除了单引号(见第3点),双引号定义的字符串可以解析所有转义字符。
示例6:
<?php
$str="a \$ b \" c \' d";
echo $str; //a $ b " c \' d
?>
3. 双引号中可直接使用单引号做为字符。
示例7:
<?php
$query="select * from user where username='Jack'";
echo $query; //select * from user where username='Jack'
?>
4. 同单引号定义字符串的第4点一样,双引号也可以使用 . 来连接。
PHP 字符串(string)定义方式三:Heredoc 和 Nowdoc
1. Heredoc 和 Nowdoc 都用于处理大文本。
2. Heredoc 类似于双引号,Nowdoc 类似于单引号。在指定结束标识符时,使用 ‘ ‘ 把标识符括起来就是 Nowdoc 语法,不使用则是 Heredoc 语法。
3. 要特别注意的一点是:结束标识符这行除了 ; 不能有其它字符,不可缩进,分号前后也不能有任何空白,否则将出现语法错误。
示例8(Heredoc):
<?php
$tireqty=2;
$oilqty=4;
$sparkqty=6;
$text= <<< EoT
<p>Your order is as follows:</p>
$tireqty tires<br/>
$oilqty bottles of oil<br/>
$sparkqty spark plugs<br/>
EoT;
echo $text;
/* 输出
Your order is as follows:
2 tires
4 bottles of oil
6 spark plugs
*/
?>
示例9(Nowdoc):
<?php
$tireqty=2;
$oilqty=4;
$sparkqty=6;
$text= <<< 'EoT'
<p>Your order is as follows:</p>
$tireqty tires<br/>
$oilqty bottles of oil<br/>
$sparkqty spark plugs<br/>
EoT;
echo $text;
/* 输出
Your order is as follows:
$tireqty tires
$oilqty bottles of oil
$sparkqty spark plugs
*/
?>