PHPでプログラミングを始めたとき、まず覚えるべき基本のひとつが「配列」です。配列は複数の値をひとまとめにできる便利な構造で、データの管理や操作には欠かせません。この記事では、PHPにおける配列の基礎から応用まで、わかりやすく丁寧に解説します。連想配列や多次元配列、よく使う関数など、実用的な内容を含めて紹介していきますので、初心者の方も安心してご覧ください。
PHP配列とは?
PHPの配列とは、複数の値を一つの変数で管理できるデータ構造のことです。例えば、1月から12月までの月名や、ユーザーの名前一覧など、関連するデータをまとめて扱いたいときに便利です。
配列は以下のように定義します。
$fruits = array("apple", "banana", "orange");
もしくは、PHP5.4以降では短縮構文も使えます。
$fruits = ["apple", "banana", "orange"];
インデックス番号(0から始まる)を使ってアクセスすることができます。
echo $fruits[1]; // banana
連想配列の使い方
連想配列は、キー(名前)と値を組み合わせてデータを管理します。これにより、より意味のあるデータ構造が可能になります。
$user = [
"name" => "Taro",
"age" => 30,
"email" => "taro@example.com"
];
値の取得もキーを指定して行います。
echo $user["name"]; // Taro
連想配列は、フォームの入力値やデータベースから取得したレコードの管理にもよく使われます。
多次元配列の構造と利用方法
配列の中に配列を含むのが多次元配列です。例えば、複数のユーザー情報を扱いたいときに便利です。
$users = [
[
"name" => "Taro",
"age" => 30
],
[
"name" => "Hanako",
"age" => 25
]
];
値を取得するには、インデックスを二重に指定します。
echo $users[1]["name"]; // Hanako
ループ処理と組み合わせることで、テーブル表示などに使いやすくなります。
配列の操作に便利な関数
PHPには配列操作を簡単にする関数が豊富に用意されています。代表的なものを紹介します。
count() – 要素数を数える
echo count($fruits); // 3
array_push() – 要素を追加する
array_push($fruits, "grape");
array_merge() – 配列を結合する
$moreFruits = ["kiwi", "lemon"];
$allFruits = array_merge($fruits, $moreFruits);
array_keys() – キーだけを取得
$keys = array_keys($user); // ["name", "age", "email"]
in_array() – 値が存在するかチェック
if (in_array("banana", $fruits)) {
echo "バナナがあります";
}
foreach文で配列をループ処理する
配列をループ処理する際にはforeach
文がよく使われます。書き方は非常にシンプルです。
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}
連想配列の場合は、キーと値の両方を取得できます。
foreach ($user as $key => $value) {
echo $key . ": " . $value . "<br>";
}
配列のソートを行う
配列の並び替えも簡単にできます。PHPにはソート関数も豊富です。
sort() – 昇順にソート(値ベース)
sort($fruits);
rsort() – 降順にソート(値ベース)
rsort($fruits);
ksort() – キーで昇順にソート(連想配列)
ksort($user);
asort() – 値で昇順にソート(連想配列)
asort($user);
配列の一部を取り出す:スライスと抽出
部分的に配列を扱いたいときには、array_slice()
やarray_splice()
が便利です。
$slice = array_slice($fruits, 1, 2); // 1番目から2つ取り出す
一方、array_splice()
は取り出しながら元の配列も変更します。
array_splice($fruits, 1, 2); // 1番目から2つ削除
nullや空の値を除外する方法
フォームやデータベースから取得した配列に空の値が含まれている場合、array_filter()
を使うとすっきりとした配列にできます。
$data = ["apple", "", null, "banana"];
$cleaned = array_filter($data); // ["apple", "banana"]
配列の違いと選び方のポイント
配列の選び方に迷ったら、以下を参考にしましょう。
- 単純なリスト → インデックス配列
- キーと値の組み合わせ → 連想配列
- 階層構造のデータ → 多次元配列
適切な配列形式を使うことで、コードの可読性や保守性が大きく向上します。
配列の応用:JSONと連携する
PHP配列は、JSONに変換してAPIなどと連携する場面でも使われます。
配列をJSONに変換
$json = json_encode($user);
JSONを配列に変換
$array = json_decode($json, true);
このように、配列とJSONの相互変換はWebアプリ開発において非常に重要です。
まとめ
PHPの配列は非常に柔軟で、様々なデータの取り扱いに対応できます。インデックス配列から連想配列、多次元配列に加え、ループ処理やソート、抽出といった基本的な操作をマスターすることで、より効率的にコードを書くことができます。この記事で紹介した配列の使い方をしっかり理解して、PHPの開発に活かしてください。