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には配列操作を簡単にする関数が豊富に用意されています。代表的なものを紹介します。
echo count($fruits); // 3
array_push($fruits, "grape");
$moreFruits = ["kiwi", "lemon"];
$allFruits = array_merge($fruits, $moreFruits);
$keys = array_keys($user); // ["name", "age", "email"]
if (in_array("banana", $fruits)) {
echo "バナナがあります";
}
配列をループ処理する際にはforeach
文がよく使われます。書き方は非常にシンプルです。
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}
連想配列の場合は、キーと値の両方を取得できます。
foreach ($user as $key => $value) {
echo $key . ": " . $value . "<br>";
}
配列の並び替えも簡単にできます。PHPにはソート関数も豊富です。
sort($fruits);
rsort($fruits);
ksort($user);
asort($user);
部分的に配列を扱いたいときには、array_slice()
やarray_splice()
が便利です。
$slice = array_slice($fruits, 1, 2); // 1番目から2つ取り出す
一方、array_splice()
は取り出しながら元の配列も変更します。
array_splice($fruits, 1, 2); // 1番目から2つ削除
フォームやデータベースから取得した配列に空の値が含まれている場合、array_filter()
を使うとすっきりとした配列にできます。
$data = ["apple", "", null, "banana"];
$cleaned = array_filter($data); // ["apple", "banana"]
配列の選び方に迷ったら、以下を参考にしましょう。
適切な配列形式を使うことで、コードの可読性や保守性が大きく向上します。
PHP配列は、JSONに変換してAPIなどと連携する場面でも使われます。
$json = json_encode($user);
$array = json_decode($json, true);
このように、配列とJSONの相互変換はWebアプリ開発において非常に重要です。
PHPの配列は非常に柔軟で、様々なデータの取り扱いに対応できます。インデックス配列から連想配列、多次元配列に加え、ループ処理やソート、抽出といった基本的な操作をマスターすることで、より効率的にコードを書くことができます。この記事で紹介した配列の使い方をしっかり理解して、PHPの開発に活かしてください。