ホームページ >バックエンド開発 >PHPチュートリアル >シェル配列と連想配列の詳しい説明とサンプルコード
シェル配列と連想配列
1. 配列
1.1. 配列の定義
一対の括弧は配列を表し、配列の要素はスペース記号で区切られます
xiaosi@Qunar:~$ a=(1 2 3) xiaosi@Qunar:~$ echo $a 1 xiaosi@Qunar:~$ a=("yoona" "lucy" "tom") xiaosi@Qunar:~$ echo $a yoona
1.2.
長さ: ${#配列名[@or*]}を使用して配列の長さを取得します
xiaosi@Qunar:~$ echo ${#a[@]} 3 xiaosi@Qunar:~$ echo ${#a[*]} 3
要素の取得: ${配列名[添字]}を使用して配列要素を取得します(添字は0から始まります) , subscript * または @
xiaosi@Qunar:~$ array=("yoona" "lucy" "tom") xiaosi@Qunar:~$ echo ${array[0]} yoona xiaosi@Qunar:~$ echo ${array[1]} lucy xiaosi@Qunar:~$ echo ${array[*]} yoona lucy tom xiaosi@Qunar:~$ echo ${array[@]} yoona lucy tom
の配列内容全体を取得します。 割り当て: 配列名 [subscript] への参照を割り当てることができます。添字が存在しない場合は、新しい配列要素が自動的に追加されます
xiaosi@Qunar:~$ array=("yoona" "lucy" "tom") xiaosi@Qunar:~$ echo ${array[2]} tom xiaosi@Qunar:~$ array[2]=lily xiaosi@Qunar:~$ echo ${array[2]} lily
。削除: unset 配列 [添字] を使用すると、対応する要素をクリアできます。添字がない場合は、すべてのデータがクリアされます
xiaosi@Qunar:~$ array=("yoona" "lucy" "tom") xiaosi@Qunar:~$ unset array[1] xiaosi@Qunar:~$ echo ${array[*]} yoona tom xiaosi@Qunar:~$ unset array xiaosi@Qunar:~$ echo ${array[*]} xiaosi@Qunar:~$
1.3. ${配列名 [@ または *]: 開始によって、特定の範囲の要素を直接取得します
配列の指定された範囲の要素を取得し、スペースで区切られた文字列を返します
${配列名 [@ または *]/検索文字/置換文字} この操作元の配列の内容は変更されません。変更する必要がある場合は、上記の例を参照してください
2. 連想配列
Bash は、文字列を配列のインデックスとして使用できる連想配列をサポートしている場合があります。文字列インデックスの使用を理解します。
2.1 連想配列を定義する
まず、宣言文を使用して変数を連想配列として宣言する必要があります。
xiaosi@Qunar:~$ array=(yoona lucy tom) xiaosi@Qunar:~$ echo ${array[*]} yoona lucy tom xiaosi@Qunar:~$ echo ${array[*]:1:2} lucy tom xiaosi@Qunar:~$ echo ${array[@]:0:1} yoona
宣言後、連想配列に要素を追加するには 2 つの方法があります。
(1) 埋め込みインデックス値リストの方法を使うxiaosi@Qunar:~$ array=(yoona lucy tom) xiaosi@Qunar:~$ echo ${array[@]/lucy/lily} yoona lily tom xiaosi@Qunar:~$ echo ${array[@]} yoona lucy tom
(2) 代入には独立したインデックス値を使う
xiaosi@Qunar:~$ declare -A assArray
2.2 リスト配列のインデックス
各配列にはインデックスがある 検索に使用します。 ${!array name[@or*]} を使用して、配列のインデックス リストを取得します
xiaosi@Qunar:~$ assArray=([lucy]=beijing [yoona]=shanghai) xiaosi@Qunar:~$ echo ${assArray[lucy]} beijing
2.3 すべてのキーと値のペアを取得します
xiaosi@Qunar:~$ assArray[lily]=shandong xiaosi@Qunar:~$ assArray[sunny]=xian xiaosi@Qunar:~$ echo ${assArray[sunny]} xian xiaosi@Qunar:~$ echo ${assArray[lily]} shandong
結果:
xiaosi@Qunar:~$ echo ${!assArray[*]} lily yoona sunny lucy xiaosi@Qunar:~$ echo ${!assArray[@]} lily yoona sunny lucy
読んでいただきありがとうございます、このサイトをサポートしていただきありがとうございます。
シェル配列と連想配列のより詳細な説明とサンプルコードについては、PHP 中国語 Web サイトに注目してください。