首页 > 开发 > PHP > 正文

php中的单引号、双引号和转义字符详解

2024-05-04 22:49:05
字体:
来源:转载
供稿:网友

PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。

例如:

<?php    $name="string";    echo " 字符串" . '$name';    echo  "字符串" . "$name"; ?>

结果:

字符串$name

字符串string

转义字符,顾名思义会将规定的语法用"/"来输出。但语法规定在不同的系统中转义字符的作用不同,例如:windows下的回车换行符用"/r"或"/n",而Linux 这两就有很大的区别:"/r"光标回到行首,但还在本行; "/n"表示下一行,不会回到行首。

PHP中的转义字符有:

" /n" ==>换行

"/r"==>回车

"/t"==>水平制表符

"//"==> 反斜杠

"/$" ==>美元符号

" /' "==>单引号

" /" " ==>双引号

" /[0-7]{1,3} " 正则表达式匹配一个八进制符号表示的字符

" /x[0-9A-Fa-f]{1,2} " 正则表达式匹配一个十六进制符号表示的字符

在PHP中,可以使用 echo() 和 print() 语句发送数据到Web浏览器,也可以使用它们发送HTML 代码到Web浏览器。从技术上讲,echo() 和 print() 是语言构造,而不是函数,这里用了一对括号,从而有助于与变量以及PHP的其他部分区分开。这两个语句本质上没有什么区别,因此用那一个都不会产生任何问题。这依个人习惯。它们不区分大小字。

在PHP中,理解单引号与双引号有什么区别是重要的。当所发送的数据中涉及到单引号和双引号时,在打印双引号时使用单引号,反之亦然,如:

echo 'She said,"How are you?"'; print "I'm just ducky.";

或者,通过在有问题的字符前面放置一个反斜杠,对它进行转义:

echo "She said,/"How are you?/" ";print 'I/'m just ducky.';

在PHP中,封闭在单引号内的值将照字面意义进行处理,而封闭在双引号内的值则将被解释。换句话说,把变量和特殊字符(见表1)放在双引号内将导致打印出它们所表示的值,而不是它们的字面值。如:

$var = 'test';

代码 echo "var is equal to $var";

将打印出 var is equal to test,而代码echo 'var is equal to $var';

将打印出var is equal to $var。使用一个转义的美元符号,代码echo"/$var is equal to $var";

将打印出$var is equal to test,而代码echo '/$var is equal to $var';

将打印出/$var is equal to $var。

表1 当在双引号内使用这些字符时,它们具有特殊的含义

转义字符代码 转义字符的含义
/ " 双引号
/ ' 单引号
/ / 反斜杠
/ n 换行符
/ r 回车符
/ t 制表符
/ $ 美元符号
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表