background image

heredoc 就是一个没有使用双引号的双引号,就是里面可以包含双引号,且不用转义,而
且可以解析特殊字符和变量
nowdoc 语法结构
<<<'标示符'
字符串本身
nowdoc 的开始标示符必须使用单引号括起来,结束标示符和其他规则都和 heredoc 一样
nowdoc 就是没有使用单引号的单引号,nowdoc 包含的字符串会原样输出,里面包含的特
殊字符和变量不会被解析

如果双引号中包含数组变量中的几种情况
//我们先定义以下数组
代码如下:
 
[php]

$arr

=

array

'one'=>

array

'name'=>'jiangtong', 
'sex'=>'男' 
), 
'two'=>'zhaohaitao', 
'three'=>'fanchangfa' 
); 
 
上面是的数组中第一个元素二维的,后两个是一维的,我们访问一维的时候下面几种方
式:

 

复制代码 代码如下:
 
[php]

echo

 "$arr[two]"

//key

 

没有单引号

echo

 "$arr['two']"

//key

 

 

有单引号 会出错,如果我们改成 echo "{$arr['two']}"; 则可以正确输

 

出结果

echo

 "{$arr[two]}"

//有双大括号,但是 key

 

没有单引号 这种情况 PHP 会先寻找有没有常量

banana,有的话则将其

 
替换,由于没有 two 常量则出错<span style="font-family: 'Courier New'; "> </span> 

 

可见在访问一维数组的时候 要么不加 key 不加引号(考虑到第三种情况啊),加了就要
被{}括起来,可以全不加。
多维数组测试

 

复制代码 代码如下:
 
[php]