php中的单引号、双引号和转义字符详解
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} " 正则表达式匹配⼀个⼋进制符号表⽰的字符
" [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制表符
\ $美元符号
正如以上例⼦所说明的,双引号将⽤变量的值(test)代替它的名称($var),并⽤特殊字符表⽰的值($)代替它的代码(\$)。单引号总是准确地打印你输⼊的内容,除了转义的单引号(\')和转义的反斜杠(\\)之外,它们将分别被打印为⼀个单引号和⼀个反斜杠。
提⽰:
1、由于PHP将试图出那些需要将其值插⼊到双引号内的变量,所以从理论上讲,使⽤单引号要快⼀些。但是,如果需要打印⼀个变量的值,则必须使⽤双引号。
2、因为有效的HTML常常包括许多⽤双引号括住的属性,所以当利⽤PHP打印HTML时,使⽤单引号最容易。
字符串常量中不能直接包括双引号和反斜杠符号echo '<table width="200" border="1" cellspacing="5" cellpadding="2" align="center">';
如果想使⽤双引号打印出上⾯这段HTML代码,将不得不对字符串中的所有双引号进⾏转义,所以相对来说较⿇烦。
以上这篇php中的单引号、双引号和转义字符详解就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。