關聯陣列是bash 4.0新增的乙個特性。關聯陣列將值與索引連線(關聯)到一起,所以我們可以將元資料與實際資料關聯起來。使用這種方式可以將**家與他的樂器聯絡起來。關聯陣列必須以大寫的declare -a命令來進行宣告。
$ cat musicians.sh
#!/bin/bash
declare -a beatles
beatles=( [singer]=john [bassist]=paul [drummer]=ringo [guitarist]=george )
for musician in singer bassist drummer guitarist
doecho "the $ is $."
done
$ ./musicians.sh
the singer is john.
the bassist is paul.
the drummer is ringo.
the guitarist is george.
$在bash引入關聯陣列之前,$是合法的。因此關聯陣列中必須使用美元符號。如果省略美元符號,解釋為陣列索引的將會是單詞index,而不是變數$index的值。
關聯陣列更有用的功能是對索引的名稱進行反向引用。這意味著如果給定了樂器的名稱,我們可以得到**家的名字。同樣地,給定了**家的名字,我們可以確定樂器。反向引用的語法是$。
$ cat instruments.sh
#!/bin/bash
declare -a beatles
beatles=( [singer]=john [bassist]=paul [drummer]=ringo [guitarist]=george )
for instrument in $
doecho "the $ is $"
done
$ ./instruments.sh
the singer is john
the guitarist is george
the bassist is paul
the drummer is ringo
$出處:
1215 關聯陣列
一 陣列變數的限制 在前面講的陣列變數中,可以通過下標訪問其中的元素。例如,下列語句訪問陣列 array 的第三個元素 scalar array 2 雖然陣列很有用,但它們有乙個顯著缺陷,即很難記住哪個元素存貯的什麼內容。假如我們來寫乙個程式計算某檔案中首字母大寫的單詞出現的次數,用陣列來實現就比較...
JS 關聯陣列
使用方式 var arr arr key1 value1 arr key2 value2 通常的陣列在填充時會隱式或者顯示指定陣列下標,但js中陣列可以以名字的形式為元素賦值,這就形成了關聯陣列,如 var arr new array arr china beijing,niaoling,hulan...
索引陣列 關聯陣列
php 數字 索引陣列一般表示陣列元素在陣列中的位置,是有數字組成,下列標從0開始 比較好的是php中的陣列元素可以是任意型別如 arr3 指定索引號 鍵 值 在陣列中,鍵是不相同的,值可以相同 鍵如果相同時最後乙個鍵會覆蓋前乙個鍵的值 索引陣列 arr array 50,60,70,80,90 a...