連想配列は宣言が必要

連想配列の値の参照

値を参照するには変数にキーを指定するだけです。

echo "${horse[name]}は${horse[color]}です。"

英語だとわかりにくいかもしれませんが結果は以下のようになります。

SilenceSuzukaはkurigeです

日本語にします。

horse=([color]=栗毛 [name]=サイレンススズカ)

サイレンススズカは栗毛です。

連想配列の要素の追加

連想配列に要素を追加してみます。

#!/bin/sh

declare -A horse

horse=([color]=栗毛 [name]=サイレンススズカ)

horse[type]=快速馬

echo "${horse[name]}は${horse[color]}の${horse[type]}です。"

実行すると以下の結果となります。

サイレンススズカは栗毛の快速馬です。

なお、要素の削除は unset を使います。

unset(horse[type])

連想配列のキー一覧と値一覧

連想配列のキー一覧の参照の方法です。PHP だと array_keys() のようなものですね。

#!/bin/sh

declare -A horse

horse=([color]=栗毛 [name]=サイレンススズカ [type]=快速馬)

echo ${!horse[@]}

変数の前に「!」を定義するのですが、結果は半角スペース区切りとなります。

name color type

値の一覧は「!」がないものになります。

echo ${horse[@]}

サイレンススズカ 栗毛 快速馬

Tips記事一覧

新着記事一覧です。

関連記事一覧

「シェルで連想配列の変数を使う方法」に関連した記事一覧です。

TOP