9 3 關聯陣列

2021-08-20 07:34:26 字數 1060 閱讀 8028

關聯陣列是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...