Maison > Opération et maintenance > exploitation et maintenance Linux > Explication détaillée des tableaux Linux et des tableaux associatifs

Explication détaillée des tableaux Linux et des tableaux associatifs

小云云
Libérer: 2018-03-31 13:48:03
original
2641 Les gens l'ont consulté

Le tableau est une partie très importante du script shell. Il stocke plusieurs données indépendantes sous forme de collection à l'aide d'un index. Les tableaux ordinaires ne peuvent utiliser que des entiers comme index de tableau. Bash prend également en charge les tableaux associatifs, qui peuvent utiliser des chaînes comme index de tableau. Dans de nombreux cas, l’indexation de chaînes est plus facile à comprendre, et c’est là que les tableaux associatifs s’avèrent utiles. Ici, nous verrons l'utilisation de tableaux ordinaires et de tableaux associatifs.

(1) Il existe de nombreuses façons de définir un tableau. Vous pouvez définir un tableau en utilisant une colonne de valeurs sur une seule ligne :
array_var=(1 2 3 4 5 6)
#Ces valeurs seront stockées dans des positions consécutives à partir de 0
De plus, les tableaux peuvent également être définis comme un ensemble de « valeurs d'index » :
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) Imprimez le contenu des éléments du tableau à un index spécifique :

[rhx@localhost Test]$ vim arr.sh
Copier après la connexion

[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
Copier après la connexion

Les tableaux associatifs ont été introduits à partir de la version 4.0 de Bash. Grâce aux techniques de hachage, les tableaux associatifs deviennent un outil puissant pour résoudre de nombreux problèmes. Découvrons-le ensuite.
1. Définir un tableau associatif

Dans un tableau associatif, nous pouvons utiliser n'importe quel texte comme index de tableau. Tout d’abord, vous devez utiliser une instruction de déclaration pour déclarer un nom de variable sous forme de tableau associatif. Comme ceci :

[rhx@localhost Test]$declare -A ass_array
Copier après la connexion

Après la déclaration, il existe deux manières d'ajouter des éléments à un tableau associatif.
 Utiliser la méthode de liste « valeur d'index » intégrée pour fournir une liste de « valeur d'index » :
$ ass_array=([index1]=val1 [index2]=val2)
 Utiliser indépendant " Affectation de valeur d'index :
$ ass_array[index1]=val1
$ ass_array'index2]=val2

Par exemple, imaginez comment utiliser des tableaux associatifs pour fixer les prix des fruits :

[rhx@localhost Test]$ declare -A fruit_value
[rhx@localhost Test]$ fruit_value=([apple]="100"[orange]="150")
[rhx@localhost Test]$ echo ${fruit_value[apple]}
Copier après la connexion

2. Répertoriez l'index du tableau
Chaque élément du tableau a un index pour la recherche. Les tableaux normaux et les tableaux associatifs ont des types d'index différents. Nous pouvons utiliser la méthode suivante pour obtenir la liste d'index du tableau :
$ echo ${!array_var[*]}
Vous pouvez également utiliser :
$ echo ${!array_var[@]
Précédemment, prenons le tableau fruits_value comme exemple. Exécutez la commande suivante :
$ echo ${!fruits_value[*]>
orange apple
Pour les tableaux ordinaires, cette méthode est également réalisable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal