php单双引号以及特殊字符解析、php界定符
2017-11-07 16:59
197 查看
1、单、双引号的区别:
双引号中的变量可以解析,单引号就是绝对的字符串;
2、单引号字符串中的 ' 和 \ ;
若要在单引号字符串中,单独的表示, ' 和 \ ,二者需要添加 \ 进行转义;
3、双引号中的特殊字符:
(1):\n 换行符:\n的作用是给源代码换行,不是在浏览器直接看到换行效果(浏览器网页用<br/>)。windows 下是"\r\n"
(2):\r 回车符: 与\n不同的是: 回车是,打印头定位在左边界;换行是,告诉打字机把纸向下移一行。所 以,\r\n代表了,回到左边界,并新起一行开始;
故:\r\n代表了最古老的换行,windows继承沿用了下来,Unix系统里现在用的是\n代表了换行,而Mac系 统下,\r则代表了换行;
(3):\t 水平制表符(相当于4个或者8个空格);也就是键盘上的Tab健;
(4):\v垂直制表符;
(5):\" 双引号;
(6):\\ 反斜线;
综上:(1)单引号不能解析字符串中的变量;
(2)单引号只能解析简单的转义:\'(')和\\(\);
(3)双引号能解析较为复杂的转义:如\"(")、\$($)、\n\r、\t......等等;
4、php界定符(<<<);
(1)、heredoc类型:
heredoc类似于字符串的双引号,里面的变量能被解析,转义较复杂的特殊字符;
(2)、newdoc类型:
newdoc类型和字符串中的单引号一样,不能解析本文中的复杂的转义和变量内容;
他和heredoc区别就是界定符"头"标记用单引号包围起来;
<?php
$sss = <<<'TITLE'//特别注意:界定符“头”标记后,决不能有任何的回车、空格、制表等内容;(加上这个注释后,程序则也会报错,即后面不能跟任何内容);
似懂非懂规范化,
sdfghgf\n\r \t;
TITLE;// 新起一行,前面不能有任何内容;后面也不能有任何内容(由此注释的时候,程序也会报错);注释不能加这,否则程序报错;
echo $sss;
?>
双引号中的变量可以解析,单引号就是绝对的字符串;
2、单引号字符串中的 ' 和 \ ;
若要在单引号字符串中,单独的表示, ' 和 \ ,二者需要添加 \ 进行转义;
<?php echo 'assaf\'ddfs'; //assaf'ddfs 对字符串中的'进行转义; echo "<br/>"; echo 'assaf\\\'ddfs'; // assaf\'ddfs; 对字符串中的\' 进行转义; echo "<br/>"; echo 'assaf\ddfs'; // assaf\ddfs; 原型输出; echo "<br/>"; echo 'assaf\\ddfs'; // assaf\ddfs; 对字符串中的\ 进行转义; echo "<br/>"; echo 'assaf\\'ddfs'; // 报错,\\ 的意思只是对\的转义,' 在字符串中间,没有进行转义,与字符串两头的界定符' '相互冲突了; ?>
3、双引号中的特殊字符:
(1):\n 换行符:\n的作用是给源代码换行,不是在浏览器直接看到换行效果(浏览器网页用<br/>)。windows 下是"\r\n"
<?php $m = 'hello\nworld'; echo $m; // 输出 hello\nworld,\n 没有进行转义; $n = "hello\nworld"; echo $n; // 输出 hello world ,其实第二个单词 world已经是在在第二行开头输出展示的,在浏览器中不能只管的看到,(浏览器中展示看到换行,可以用<br/>进行代替),但在源代码中可以看到; ?>
(2):\r 回车符: 与\n不同的是: 回车是,打印头定位在左边界;换行是,告诉打字机把纸向下移一行。所 以,\r\n代表了,回到左边界,并新起一行开始;
故:\r\n代表了最古老的换行,windows继承沿用了下来,Unix系统里现在用的是\n代表了换行,而Mac系 统下,\r则代表了换行;
(3):\t 水平制表符(相当于4个或者8个空格);也就是键盘上的Tab健;
(4):\v垂直制表符;
(5):\" 双引号;
(6):\\ 反斜线;
综上:(1)单引号不能解析字符串中的变量;
(2)单引号只能解析简单的转义:\'(')和\\(\);
(3)双引号能解析较为复杂的转义:如\"(")、\$($)、\n\r、\t......等等;
4、php界定符(<<<);
(1)、heredoc类型:
heredoc类似于字符串的双引号,里面的变量能被解析,转义较复杂的特殊字符;
<?php $sss = <<< TITLE // 界定符“头”名称 可以是任意的(非文本内容中的)字符,只要与“尾”的标记名称保持一致即可; // 特别注意: 此代码是按原样输出展示的,即:开头的以及中间的 空格、缩进、等何种内容,都会被原样的输出展示出来(源码中能看到具体信息); 似懂非懂规范化, // 注意: 文本中不能有雨”界定符“一样的头尾标记(单词),即此超文本中不能有"TITLE"出现,(防止与头尾自动匹配、发生错误); sdfghgf\n\r \t; // 与双引号类似,能解析比较复杂的转义和变量内容; // 原样输出,空格能被输出展示出来; TITLE; //界定符“尾”名称,1、必要要与"头"名称保持一致;2、必须以一个新的行单独表示“尾“名称(前面不能有空格、缩进等其他字符);、3、"尾"名称后以”;"结束语句; echo $sss; ?>
(2)、newdoc类型:
newdoc类型和字符串中的单引号一样,不能解析本文中的复杂的转义和变量内容;
他和heredoc区别就是界定符"头"标记用单引号包围起来;
<?php
$sss = <<<'TITLE'//特别注意:界定符“头”标记后,决不能有任何的回车、空格、制表等内容;(加上这个注释后,程序则也会报错,即后面不能跟任何内容);
似懂非懂规范化,
sdfghgf\n\r \t;
TITLE;// 新起一行,前面不能有任何内容;后面也不能有任何内容(由此注释的时候,程序也会报错);注释不能加这,否则程序报错;
echo $sss;
?>
相关文章推荐
- PHP json_decode 无法解析特殊问号字符
- php json_decode无法解析特殊问好字符
- php单双引号对变量解析的影响以及php向mysql插入数据时的变量解析问题详解
- addslashes,htmlspecialchars,htmlentities转换或者转义php特殊字符防止xss攻击以及sql注入
- PHP json字符串对特殊字符处理(单引号,双引号)
- php单双引号对变量解析的影响以及php向mysql插入数据时的变量解析问题详解
- JSON.parse解析特殊字符报错解决方案
- 特殊字符+,/n,?,/,$,&,服务器接收成空格,无法正常解析成图片
- 50个G的PHP视频教程全集下载-PHP视频教程排行以及深度解析
- 50个G的PHP视频教程全集下载-PHP视频教程排行以及深度解析
- 处理内容有&特殊字符thinkphp返回xml无法解析的问题<![CDATA[xxx]]>
- 在AWK中输出特殊字符-单引号
- PHP - 判断php是否对表单数据内的特殊字符自动转义
- bat中的特殊字符,以及需要在bat中当做字符如何处理
- paip.判断字符是否中文与以及判读是否是汉字uapi python java php
- PHP检测数组中的每个值是否含有特殊字符
- EditText带图标的提示以及屏蔽特殊字符
- [PHP]进阶教程:双引号和单引号在PHP中的区别以及字符串的基本操作
- XML解析时候因为特殊字符&,<,>,",'出错
- PHP过滤所有特殊字符的函数