PHP 关联数组详解

首页 / 新闻资讯 / 正文

定义和用法

在PHP中,数组键=>值对的逗号分隔集合。这样的数组称为关联数组,其中值与唯一键相关联。关键部分必须是字符串或整数,而value可以是任何类型,甚至是另一个数组。

键的使用是可选的。如果数组仅由值组成,则它将成为索引数组,其中基于零的位置值索引将充当键。

数组对象可以通过array()函数进行初始化,也可以通过将元素放在方括号内来赋值[]

语法

//使用array()函数的关联数组 $arr=array(key1=>val1, key2=>val2,key3=val3,..); //使用赋值方法的关联数组 $arr=[key1=>val1, key2=>val2,key3=val3,..];

键应为整数或字符串。值组件可以是任何PHP类型。如果某个键重复出现,则最后分配的值将覆盖先前的值。我们可以通过以下语法访问与某个键关联的值-

$arr[key1];

PHP版本

从PHP 5.4开始就可以使用方括号来分配数组

下面的示例使用array()函数声明一个关联数组

示例

<?php $arr=array(1=>"one", 2=>"two", 3=>"three"); var_dump($arr); ?>

输出结果

这将产生以下结果-

array(3) {    [1]=>    int(11)    [2]=>    int(22)    [3]=>    int(33) }

本示例使用方括号分配关联数组

示例

<?php $arr=[1=>"one", 2=>"two", 3=>"three"]; var_dump($arr); ?>

输出结果

这将产生以下结果-

array(3) {    [1]=>    string(3) "one"    [2]=>    string(3) "two"    [3]=>    string(5) "three" }

我们可以使用foreach循环遍历数组元素,如下所示:

示例

<?php $arr=[1=>"one", 2=>"two", 3=>"three"]; //使用foreach循环 foreach ($arr as $key=>$value){    echo $key . "=>" . $value . "\n"; } ?>

输出结果

这将产生以下结果-

1=>one 2=>two 3=>three

该示例显示了修改现有元素的值并使用方括号添加新的键-值对

示例

<?php $arr=[1=>"one", 2=>"two", 3=>"three"]; //修改数组元素 $arr[2]="twenty"; //add new element in array $arr[10]="ten"; //使用foreach循环 foreach ($arr as $key=>$value){    echo $key . "=>" . $value . "\n"; } ?>

输出结果

这将产生以下结果-

1=>one 2=>twenty 3=>three 10=>ten