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