`
cloudlee8
  • 浏览: 9658 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

PHP数组键值双引号单引号区别

 
阅读更多
一、$myarray['key'] 与 $myarray["key"] 与 $myarray[key]的差别:
以上三种方式主要是通过字符串类型数组下标即数组键访问数组的值,如果数组下标为索引类型即键值为数字则无需注意。
1,$myarray['key'] 单引号模式被直接解析为$myarray的值;
2,$myarray["key"]双引号模式会首先分析"key"字符串内部是否包含 PHP变量,然后再解析为$myarray的值;
3,$myarray[key]没有任何引号会先分析局部作用域内有没有key常量定义(即有无define('key','val')),
如果有则使用局部key常量代表的常量值作为数组键值;
否则继续分析全局作用域内有没有key常量定义,
如果有则使用全局key常量代表的常量值作为数组键值;
否则内部转换key为'key'字符串标量值并抛出E_NOTICE异常。
二、$myarray["$str_key"] 与 $myarray[$str_key]的差别
此方式亦为通过字符串类型数组下标访问数组的值,
如果数组下标为索引类型即数字则无需注意。
其实这里无需额外添加双引号以表示$str_key变量代表的是字符串值,
即$myarray["$str_key"] === $myarray[$str_key]
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics