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