🐺

配列について(2)連想配列編

2023/04/12に公開

この記事は、配列についての記事の続編です。
まず配列の記事をお読み下さい。

https://zenn.dev/phpbeginners/articles/373639566d7aa6

連想配列とは

連想配列とは、配列の進化版です。
配列とは、変数をまとめたものですが、配列の中の変数にアクセスするには、index番号を指定する必要がありました。

//  初期化
$arr = ['a','b','c'];

//  index番号を指定して出力
echo $arr[0]; // a

これでは不便なので、index番号ではなく、キー名で指定できるようにしたのが【連想配列】です。

//  初期化
$assoc = [
  'apple'     => 'macOS',
  'google'    => 'Android',
  'microsoft' => 'Windows',
];

//  キー名を指定して出力
echo $assoc['apple'];     // macOS
echo $assoc['google'];    // Android
echo $assoc['microsoft']; // Windows

連想配列の読み書き

連想配列から値を取得する

//  初期化
$assoc = ['apple' => 'macOS'];

//  キー名を指定して出力
echo $assoc['apple']; // macOS

連想配列の値を上書きする

//  初期化
$assoc = ['apple' => 'macOS'];

//  キー名を指定することで上書きできる
$assoc['apple'] = 'iOS';

//  キー名を指定して出力
var_dump($assoc['apple']); // iOS

連想配列に値を追加する

//  初期化
$assoc = ['apple' => 'macOS'];

//  新しい値を追加する
$assoc['google'] = 'Android';
var_dump($assoc);

上記のvar_dumpの結果

array(2) {
  ["apple"]  => string(5) "macOS"
  ["google"] => string(7) "Android"
}

キー名についての注意事項

大文字と小文字

PHPでは、関数名などは大文字小文字を区別していませんが、キー名は大文字と小文字を区別します。

キー名に日本語を使える

キー名はアルファベットと数字以外にも、日本語や中国語、タガログ語も指定できます。
ただ、思いも寄らないトラブルが発生するかもしれないので、アルファベットと数字にしておく方が無難です。

連想配列が理解できたら、次は二次元配列です

連想配列を理解すると、プログラムが捗るのですが、二次元配列を理解すると、もっと捗ります!

https://zenn.dev/phpbeginners/articles/33e622b6f8192b

Discussion