您的位置:首页 > 编程语言 > PHP开发

php单双引号以及特殊字符解析、php界定符

2017-11-07 16:59 197 查看
1、单、双引号的区别:

     双引号中的变量可以解析,单引号就是绝对的字符串;

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;
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: