🐈

配列と連想配列の違い

2022/09/13に公開

こんにちは、nekoです!

今日は独学エンジニアのレッスン4-18〜21を学習しましたので、学習の定着のためにもアウトプットしていきたいと思います。

配列

配列は複数の値を変数に格納するときに使われます。
配列の初期化要素の追加要素にアクセスといった具合に使います。

# 初期化
$配列 = [1,2,3];

# 要素の追加
$配列名[] =;

# 要素にアクセス
$配列名[キー番号]

連想配列

一方、連想配列も配列と同じく複数の値を変数に格納するときに使われます。
違いは要素にラベルを付けられることです。

# 初期化
$配列名 = [
  キー1 =>1,
  キー2 =>2 ...
];

# 要素の追加
$配列名[キー名] =;

# 要素にアクセス
$配列名[キー名]

実はいっしょ

PHPでは配列も連想配列も同じことをしています。

  • 配列はキーを定義していなければ自動的に0から始まる連番をキーとして定義します。
  • 連想配列はキーを定義します。

つまり、どちらもキーを定義しています。

なぜ配列と連想配列と区別しているのか

実はいっしょ、というのなら区別しなくても良い気がしますが、用途が異なるために区別されています。

例えば、格納したい値が「好きな猫の種類」だった場合、値を列挙すれば良いだけなのでキーを付けて区別する必要はありません。

$cats = ['ラグドール', 'マンチカン', 'ロシアンブルー'];

しかし、格納したい値が「飼っている猫の名前」「猫の種類」「性別」だった場合は、ラベルを付けて管理しないと、ややこしくなってきます。

$cats = [
  'name' => 'エマ',
  'type' => 'ラグドール',
  'sex' => 'おんなのこ',
];

まとめ

条件分岐、繰り返し処理、配列と学んできましたが

  • やりたいこと、課題は何か
  • やりたいことをするには、課題を解決するためには何をすればいいか

の繰り返しでした。次回のレッスンからもこれらを意識して学習を進めたいと思います。

Discussion