PHPプログラミングを進めていくと、$user1
, $user2
, $user3
… のように、似たような情報を格納するためにたくさんの変数を作ってしまい、管理が大変になった経験はありませんか?
このような「複数の関連するデータ」を、たった一つの変数にまとめてスッキリ管理できるのが「配列」です。
配列は、PHPで複雑なデータを扱うための最も基本的で強力なツールです。この記事では、配列の基本的な仕組みと、代表的な2種類の配列(インデックス配列・連想配列)の使い方を、初心者の方にも分かりやすく解説します。
配列とは?~たくさんの引き出しを持つ棚~
配列とは、一言でいうと「複数の値(データ)を格納できる、特殊な変数」のことです。
たくさんの引き出しを持つ棚をイメージしてみてください。
- 配列:棚全体
- 値 (value):引き出しの中に入れるモノ(”りんご”, “山田太郎”, 100 など)
- キー (key):引き出しの番号や名札(0, 1, “name”, “price” など)
PHPの配列では、この「キー」と「値」が必ずペアになっています。私たちはこの「キー」を使って、目的の「値」を自由に出し入れすることができるのです。
1. インデックス配列(数字のキーを持つ配列)
インデックス配列は、最もシンプルな配列です。キーとして0から始まる連続した整数が自動的に割り当てられます。単純なリストや一覧を扱うのに適しています。
インデックス配列の作り方と使い方
現在のPHPでは、角括弧[ ]
を使って配列を作成するのが一般的です。(古いarray()
という書き方もありますが、[ ]
を覚えておけば大丈夫です。)
<?php
// フルーツのリストをインデックス配列として作成
$fruits = ["Apple", "Orange", "Banana"];
// var_dump()で配列の中身を詳しく見てみよう
var_dump($fruits);
var_dump()
の実行結果:
array(3) {
[0]=> string(5) "Apple"
[1]=> string(6) "Orange"
[2]=> string(6) "Banana"
}
[0]=>"Apple"
, [1]=>"Orange"
… となっているように、キーが0から自動で割り振られているのが分かりますね。
特定の値を取り出す
値を取り出すには、配列変数名[キー]
の形式で指定します。
// 2番目の要素を取り出す(キーは0から始まるので[1]を指定)
echo $fruits[1]; // 出力: Orange
⚠️重要:キーは0から始まる! プログラミングの多くの場面で、配列の最初の要素のキーは
1
ではなく0
です。これは初心者がつまずきやすいポイントなので、しっかり覚えておきましょう。
要素を追加する
配列の末尾に新しい要素を追加するには、キーを省略して[]
と書きます。
$fruits[] = "Grape"; // 末尾に"Grape"が追加される
var_dump($fruits);
2. 連想配列(名前のキーを持つ配列)
連想配列は、キーとして**自由な名前(文字列)**を付けることができる配列です。0, 1, 2...
という数字の代わりに、"name"
, "price"
のように、その値が何を表しているのか分かりやすい名前をキーにできます。
一人のユーザー情報や、商品の詳細データなど、構造化されたデータを格納するのに非常に便利です。
連想配列の作り方と使い方
キー => 値
の形式で、キーと値をペアで指定します。
<?php
// ユーザー情報を連想配列として作成
$user = [
"name" => "Taro Yamada",
"age" => 30,
"email" => "yamada@example.com"
];
// var_dump()で中身を確認
var_dump($user);
var_dump()
の実行結果:
array(3) {
["name"]=> string(11) "Taro Yamada"
["age"]=> int(30)
["email"]=> string(20) "yamada@example.com"
}
特定の値を取り出す
インデックス配列と同様に、配列変数名[キー]
で取り出します。キーには指定した文字列を使います。
echo $user["name"]; // 出力: Taro Yamada
echo $user["age"]; // 出力: 30
数字よりも直感的で、データの内容が分かりやすいですね。
要素を追加・変更する
新しいキーを指定して代入すれば要素が追加され、既存のキーを指定すれば値が上書きされます。
$user["city"] = "Tokyo"; // "city"というキーで要素が追加される
$user["age"] = 31; // "age"のキーの値が31に更新される
まとめ
今回は、PHPの配列の基本である「インデックス配列」と「連想配列」について学びました。
【ポイントの振り返り】
- 配列は、複数のデータを一つの変数に格納できる便利な仕組み。
- インデックス配列:
- キーが0から始まる整数。
- 単純なリスト(例:
["A", "B", "C"]
)に最適。
- 連想配列:
- キーが自由な名前(文字列)。
- 構造化されたデータ(例:
["name" => "Taro", "age" => 30]
)に最適。
配列は、次のステップである「ループ処理(foreach
など)」と組み合わせることで、その真価を発揮します。まずはこの2種類の配列の作り方と値の取り出し方をしっかりとマスターして、複雑なデータを自在に扱えるようになりましょう。