在 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)