Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Ausführliche Erläuterung von Linux-Arrays und assoziativen Arrays

Ausführliche Erläuterung von Linux-Arrays und assoziativen Arrays

小云云
小云云Original
2018-03-31 13:48:032598Durchsuche

Array ist ein sehr wichtiger Teil des Shell-Skripts. Es speichert mithilfe eines Index mehrere unabhängige Daten als Sammlung. Gewöhnliche Arrays können nur ganze Zahlen als Array-Indizes verwenden. Bash unterstützt auch assoziative Arrays, die Strings als Array-Indizes verwenden können. In vielen Fällen ist die String-Indizierung einfacher zu verstehen, und hier erweisen sich assoziative Arrays als nützlich. Hier sehen wir die Verwendung gewöhnlicher Arrays und assoziativer Arrays.

(1) Es gibt viele Möglichkeiten, ein Array zu definieren. Sie können eine Wertespalte in einer einzelnen Zeile verwenden, um ein Array zu definieren:
array_var=(1 2 3 4 5 6)
#Diese Werte werden an aufeinanderfolgenden Positionen beginnend mit dem Index 0 Darüber hinaus können Arrays auch als Satz von „Indexwerten“ definiert werden:
array_var[0]="test1"
array_var[1]="test2"
array_var[2]= "test3"
array_var [3]="test4"
array_var[4]="test5"
array_var[5]="test6"

(2) Ausdrucken der Inhalt des Array-Elements an einem bestimmten Index:

[rhx@localhost Test]$ vim arr.sh

[rhx@localhost Test]$ source arr.sh
[rhx@localhost Test]$ echo ${array[0]}
//输出:1
[rhx@localhost Test]$ echo ${array[*]}
//输出数组元素:1 2 3 4 5 6 7 8 9 10
[rhx@localhost Test]$ echo ${array[@]}
//输出数组元素1 2 3 4 5 6 7 8 9 10
[rhx@localhost Test]$ echo ${#array[@]}
//输出数组长度:10
[rhx@localhost Test]$ echo ${#array[*]}
//输出数组长度:10
Assoziative Arrays wurden ab Bash Version 4.0 eingeführt. Mithilfe von Hashing-Techniken werden assoziative Arrays zu einem leistungsstarken Werkzeug zur Lösung vieler Probleme. Finden wir es als nächstes heraus.

1. Definieren Sie ein assoziatives Array

In einem assoziativen Array können wir jeden Text als Array-Index verwenden. Zunächst müssen Sie eine Deklarationsanweisung verwenden, um einen Variablennamen als assoziatives Array zu deklarieren. So:

[rhx@localhost Test]$declare -A ass_array
Nach der Deklaration gibt es zwei Möglichkeiten, Elemente zu einem assoziativen Array hinzuzufügen.

 Nutzen Sie die Methode der eingebetteten „Indexwert“-Liste, um eine „Indexwert“-Liste bereitzustellen:
$ ass_array=([index1]=val1 [index2]=val2)
 Verwenden Sie unabhängige „ „Indexwert“-Zuweisung:
$ ass_array[index1]=val1
$ ass_array'index2]=val2

Stellen Sie sich zum Beispiel vor, wie man assoziative Arrays verwendet, um Preise für Früchte festzulegen:

[rhx@localhost Test]$ declare -A fruit_value
[rhx@localhost Test]$ fruit_value=([apple]="100"[orange]="150")
[rhx@localhost Test]$ echo ${fruit_value[apple]}

2. Listen Sie den Array-Index auf

Jedes Array-Element verfügt über einen Index für die Suche. Normale Arrays und assoziative Arrays haben unterschiedliche Indextypen. Wir können die folgende Methode verwenden, um die Indexliste des Arrays abzurufen:
$ echo ${!array_var[*]}
Sie können auch verwenden:
$ echo ${!array_var[@]
Nehmen Sie zuvor das Array „fruits_value“ als Beispiel:
$ echo ${!fruits_value[*]}
orange apple
Für gewöhnliche Arrays ist diese Methode auch möglich.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Linux-Arrays und assoziativen Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn