php专区

 首页 > php专区 > PHP基础 > 数组 > PHP数组键值的单双引号区别详解 - php数组

PHP数组键值的单双引号区别详解 - php数组

分享到:
【字体:
导读:
          我们写遍历数组时会有几种方法如直接$arr[ 39;key 39;] 与 $arr[ key ] 与 $arr[key]了我们都可以显示出要关内容,但是他们区别在哪里呢,下面我来介绍一下 一、$arr[ 39;key 39;] 与...

PHP数组键值的单双引号区别详解

我们写遍历数组时会有几种方法如直接$arr['key'] 与 $arr["key"] 与 $arr[key]了我们都可以显示出要关内容,但是他们区别在哪里呢,下面我来介绍一下.

一、$arr['key'] 与 $arr["key"] 与 $arr[key]的差别:

以上三种方式主要是通过字符串类型数组下标即数组键访问数组的值,如果数组下标为索引类型即键值为数字则无需注意.

1,$arr['key'] 单引号模式被直接解析为$arr的值;

2,$arr["key"]双引号模式会首先分析"key"字符串内部是否包含 PHP变量,然后再解析为$arr的值;

3,$arr[key]没有任何引号会先分析局部作用域内有没有key常量定义(即有无define('key','val')),

如果有则使用局部key常量代表的常量值作为数组键值;否则继续分析全局作用域内有没有key常量定义,如果有则使用全局key常量代表的常量值作为数组键值;否则内部转换key为'key'字符串标量值并抛出E_NOTICE异常。

二、$arr["$str_key"] 与 $arr[$str_key]的差别:

此方式亦为通过字符串类型数组下标访问数组的值,如果数组下标为索引类型即数字则无需注意,其实这里无需额外添加双引号以表示$str_key变量代表的是字符串值,即$arr["$str_key"] === $arr[$str_key],代码如下:

  1. define('constant','arr1'); 
  2. $constant = 'arr2'
  3. $variable = 'arr1'
  4. $arr = array
  5.    'arr1'=>'arr1',   
  6.    'arr2'=>'arr2',   
  7.    'arr3'=>'arr3',   
  8. ); 
  9. echo $arr['arr1'],'
    '
    ,$arr["$variable"],'
    '
    ,$arr[constant],'
    '
    ,$arr[$constant]; 
  10. ?> 
分享到:
PHP数组排序函数使用方法 - php数组
PHP数组排序函数使用方法 在php中数据排序函数有很多,包括有一维数组排序函数与二维数组排序函数,包括简单sort函数升序排序,rsort降序排列等. php数组排序函数有: sort  (&$arr[,fruits])  对数组进行从低到高排序,并赋予新的键名 返回bool rsort  (&$arr[,fruits]) 对数组进行逆向排...
php判断多维数组是否存在某个值 - php数...
php判断多维数组是否存在某个值 今天我们给大家介绍如何判断数组中存在我们要找的元素值,这里介绍如果是一维数据就直接in_array但多维数据复杂一点,我们先来解一下in_array检查数组中是否存在某个值,代码如下:
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……