在 PHP 中,有三种数组类型:
- 索引数组 - 带有数字索引的数组,(可以理解C/C++/Java中的数组,按照索引位置直接访问)
- 关联数组 - 带有指定键的数组,(可以理解为map,按照键值对存储,按照键访问)
- 多维数组 - 包含一个或多个数组的数组,(可以理解为复杂的数组,元素可以是普通元素或者数组)
1.索引数组
可以使用数据的索引(下标)访问的数组。如下面的代码:
<?php $myArray=array(1,2); $myArray[]=4; //向末尾添加元素,等价于array_push() $myArray[]=5; //向末尾添加元素,等价于array_push() echo $myArray[0]."\n"; //1 echo $myArray[2]."\n"; //4 ?>
2.关联数组
保存键值对数据,数据按照键名访问。如出现同名的键,后加的替换之前数据。如下面的代码:
<?php $myArray=array("name"=>"liu"); $myArray["name"]="wang"; $myArray["school"]="bupt"; foreach($myArray as $key=>$value){ echo $key.":".$value."\n"; } /* 输出: name:wang school:bupt */ ?>
3.多维数组
数组的元素可以是普通元素,也可以是其他的元素。如下面的代码:
<?php $indexArray=array(1,2,3); $myArray=array($indexArray,"6"=>"liu"); $myArray["age"]=18; $myArray[]="bupt"; print_r($myArray); ?>
输出:
4.PHP数组与JSON格式的转换
php提供了函数可以直接进行转换:
(1) json_encode : php数组 ---> json字符串
(2) json_decode : json字符串 ---> php数组(需要设置第二个参数为true)