PHP入門 – 配列、連想配列

PHP-配列

PHPの初心者向けに、配列、連想配列について解説します。
変数などの前提知識も必要なので復習したい方はPHP – 基礎構文編を読んでみてください。

配列とは?

変数では、データを一つしか保存できませんでしたが、配列を用いることで複数の値を保存することができます。値を並べることで、インデックス番号がついた箱の中に格納されていくイメージです。インデックス番号は0からはじまり、1, 2, 3と自動的に割り振られます。

配列の書き方

配列は「$配列名 = array(値1, 値2, 値3)」のように書きます。

$names = array('sato', 'yamada', 'tanaka');

また、配列は「$配列名 = [‘値1’, ‘値2’, ‘値3’]」のように省略形で書くことができます。こちらの方がシンプルで見やすいですね。

$names = ['sato', 'yamada', 'tanaka'];

配列の呼び出し

配列を呼び出すには、「$配列名[インデックス番号]」のように書きます。

$names = ['sato', 'yamada', 'tanaka'];
echo $names[0]; //結果:sato

配列の追加/上書き

配列の末尾に値を追加するには、「$配列名[] = 値;」のように書きます。「[]」内にインデックス番号を指定すると値を上書きできます。

$names = ['sato', 'yamada', 'tanaka'];
$names[] = 'suzuki';  //末尾に追加
$names[1] = 'kato'; //値の上書き

配列の中身を表示

配列のインデックス番号と値を分かりやすく表示させるには、「print_r($配列名)」のように書きます。「print_r」はPHPであらかじめ用意されている関数です。

$names = ['sato', 'yamada', 'tanaka'];
print_r($names);
/* 結果
Array
(
    [0] => sato
    [1] => yamada
    [2] => tanaka
)
*/

他にも「var_dump」という関数が用意されており、こちらはデータ型などの詳細な結果が表示されます。

$names = ['sato', 'yamada', 'tanaka'];
var_dump($names);
/* 結果
array(3) {
  [0]=>
  string(4) "sato"
  [1]=>
  string(6) "yamada"
  [2]=>
  string(6) "tanaka"
}
*/

連想配列

配列では、自動的に割り振られていたインデックス番号で値を管理していましたが、連想配列では、自分で指定した「キー」によって値を管理します。

連想配列

連想配列の書き方

連想配列は「$連想配列名 = [‘キー名1’ => ‘値1’, ・・・]」のように書きます。データが多くなる場合は改行した方が見やすくなります。また、最後の値の後に「,」を付けておくと、データを追加したときに付け忘れを防止できます。

$user = [
  'name' => 'sato',
  'age' => 25,
  'gender' => 'man',
];

連想配列の呼び出し

連想配列の値を呼び出すには、「$連想配列名[‘キー名’]」のように書きます。

$user = [
  'name' => 'sato',
  'age' => 25,
  'gender' => 'man',
];
echo $user['name']; //結果:sato

連想配列で値を追加/上書き

連想配列の末尾に値を追加するには、「$連想配列名[‘キー名’」= ‘値’」のように書きます。値を上書きする場合も同様の書き方で、保存したキー名を指定すればOKです。

$user = [
  'name' => 'sato',
  'age' => 25,
  'gender' => 'man',
];
$user['height'] = 175; //末尾に値を追加
$user['age'] = 26; //ageの値を上書き