1 2 3 4 5 6 7 8 |
//定义单引号和双引号字符串 $a1 = '你好!'; $a2 = "你好!"; var_dump($a1,$a2); //引号方式:比较适合定义那些比较短(不超过一行)或者没有结构要求的字符串;如果有结构要求,或者内容超过一行,可以使用以下两种结构定 echo '<br/>'; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#结构化定义 #nowdoc字符串:没有单引号的单引号字符串 $a3 = <<<'EOD' 这是一个nowdoc字符串 所定义的方式 EOD; #heredoc字符串:没有双引号的双 引号字符串 $a4 = <<<EOD 这是一个heredoc字符串 所定义的方式 EOD; var_dump($a3,$a4); echo '<br/>'; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#字符串转义 /* 转义的含义:在计算机通用协议中,有一些特定的方式定义的字母,系统会特定处理:通常这种方式都是使用反斜杠+字母(单词)的特性: \rn:回车换行 PHP在识别转义字符的时候也是使用同样的模式:反斜杠+字母 在PHP中系统常用的转义符号: \':在单引号字符串中显示单引号 \“:在双引号字符串中显示双引号 \r:代表回车(理论上是回到当前行的首位置) \n:代表新一行 \t:类似tab键,输出4个空格 \$:在PHP中使用$符号作为变量符号,因此需要特定识别 */ //1)其中单引号中只能识别\',而双引号中就不能识别\' $a1='asd\r\nfgh\t\'\"\$ds'; $a2="asd\r\nfgh\t\'\"\$a1"; echo $a1,'<br/>',$a2,'<br/>'; //2)双引号中因为能够识别$符号,所以双引号中可以解析变量,而单引号不行 $a1='abcdefg'; $a2="abc $a1 defg"; echo $a1,'<br/>',$a2,'<br/>'; //双引号中变量识别的规则 //1、变量本身系统能够与后面的内容区分:应该保证变量的独立性,不要让系统难以区分 //2、使用变量专业标识符(区分),给变量加上一组大括号{} $a1='abcdefg'; $a2="abc{$a1}defg"; echo $a1,'<br/>',$a2,'<br/>'; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#结构化定义字符串变量的规则: /* 1、结构化定义字符串对应的边界符有条件: 1.1 上边界符后面不能跟任何内容; 1.2下边界符必须顶格:最左边; 1.3 下边界同样后面只能跟分号,不能跟任何内容; 2、结构化定义字符串的内部(边界符之间)的所有内容都是字符串本身 */ $a1 = <<<EOD //这个是弹出内容 <script> alert('$a2'); //js弹出信息框 </script> EOD; echo $a1; |