PHP數組的類型-關聯陣列
什麼是PHP關聯陣列?
上一篇我們介紹了《PHP數組的類型-數字索引數組》,今天我們具體介紹下關聯陣列。
除了數組索引數組,PHP還有一種關聯陣列,在其它電腦語言中,一般叫做hash或者map
使用關聯陣列,我們可以為每個數組元素指定一個關鍵詞,我們稱之為鍵(key)
$info = [ 'name' => 'andy', 'age' => 18, 'gender' => 'male'];
等同於
$info = array( 'name' => 'andy', 'age' => 18, 'gender' => 'male');
關聯陣列使用數字下標是無法擷取資料的,譬如$info[0]的值是空,我們需要使用鍵作為下標$info[‘age’]的值是18。
關聯陣列的鍵名可以是數字和字串混合的形式,而不像數字索引數組的鍵名只能為數字。在一個數組中,只要鍵名中有一個不是數字,那麼這個數組就稱之為關聯陣列。
關聯陣列和數組類似,由以名稱作為鍵的欄位和方法組成。
它包含標量資料,可用索引值來單獨選擇這些資料,和數組不同的是, 關聯陣列的索引值不是非負的整數而是任意的標量。這些標量稱為Keys,可以在以後用於檢索數組中的數值。
關聯陣列的元素沒有特定的順序,你可以把它們想象為一群組卡片。每張卡片上半部分是索引而下半部分是數值。
JavaScript的對象本質就是一個關聯陣列。
關聯陣列(associative array)使用字串索引(或鍵)來訪問儲存在數組中各個元素的值,其索引值如下表所示。關聯索引的數組對於資料庫層互動非常有用。
關聯陣列案例如下:
<?php$newarray=array("first"=>1,"second"=>2,"third"=>3);echo $newarray["second"];$newarray["third"]=8;echo $newarray["third"];?>
輸出結果為:
技巧:關聯陣列的鍵名可以使任何一個整數或者字串。如果鍵名是一個字串,不要忘了給這個鍵名或者索引加上定界符—單引號(‘)或者雙引號(“)。對於數字索引數組,為了避免不必要的麻煩,我們也最好加上定界符!
下一篇我們講解《PHP數組的類型-多維陣列》!
【相關教程推薦】
相關專題推薦:《php數組(Array)》
相關視頻課程推薦:
《用for迴圈來遍曆數組:索引與關聯陣列》
《用while迴圈遍曆數組:索引與關聯陣列》
《用foreach迴圈來遍曆:索引與關聯陣列》