「配列」と「連想配列」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| 変数 | プログラミング言語における「値を入れておく箱」 |
| 配列の添字 | 配列の中身の箱ひとつひとつに割り振られた番号 |
| 配列の要素 | 配列の中身の箱ひとつひとつのこと |

それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| 配列 | 変数を たくさん合体させた変数 |
| 連想配列 | 添字に好きな名前を付けられる配列 |
似ているところ
どちらも変数を たくさん合体させた変数です。
違うところ
捉えようによっては同じものと見なすこともできますが、一般的には添え字に指定できる値によって区別します。
「配列」と言った場合、添え字は「0から始まる整数」です。
1つ目の要素の添え字:「0」
2つ目の要素の添え字:「1」
3つ目の要素の添え字:「2」
のように決まっています。

一方「連想配列」と言った場合は、添え字に好きな値を使用できます。
例えば
1つ目の要素の添え字:「愛媛」
2つ目の要素の添え字は「和歌山」
3つ目の要素の添え字は「静岡」
のように好きな名前を添え字にすることが可能です。

個人的な使い分け
「パッと見で意味を取りやすい」「1つの要素に対して、キーと値で2つの意味を持たせられる」との理由から、連想配列の方が好きです。
また、内部的な扱いに依らず
・添え字が数字
・0から始まって要素が増える毎に添え字の数字も1増える
だったら「配列」と、それ以外の添え字だったら「連想配列」と呼ぶようにしています。
備考
「連想『配列』」というくらいなので、連想配列は配列の一種です。
また、連想配列は好きな名前を添え字にできる配列です。
ということは、数字を添え字にしても問題はないですよね?
そう解釈すると、配列も連想配列の仲間だと言えるでしょう。
実際に両者を区別しないプログラミング言語もあります。
例えばPHPでは、配列も連想配列も内部的には連想配列(正確にはマップ型)として扱われます。
配列と連想配列を区別する上で混乱しちゃった人は、添え字が
・数字
・0から始まる
・要素が増える毎に数字が1増える
ものは「配列」で、それ以外は「連想配列」と解釈してください。
それ以外の細かい違いはプログラミング言語によって異なります。






