PHP 关联数组
定义和用法
在PHP中,数组是键=>值对的逗号分隔集合。这样的数组称为关联数组,其中值与唯一键相关联。关键部分必须是字符串或整数,而value可以是任何类型,甚至是另一个数组。
键的使用是可选的。如果数组仅由值组成,则它将成为索引数组,其中基于零的位置值索引将充当键。
数组对象可以通过array()函数进行初始化,也可以通过将元素放在方括号内来赋值[]
语法
//使用array()函数的关联数组 $arr=array(key1=>val1, key2=>val2,key3=val3,..); //使用赋值方法的关联数组 $arr=[key1=>val1, key2=>val2,key3=val3,..];
键应为整数或字符串。值组件可以是任何PHP类型。如果某个键重复出现,则最后分配的值将覆盖先前的值。我们可以通过以下语法访问与某个键关联的值-
$arr[key1];
PHP版本
从PHP5.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