
【6日でできるPHP入門】配列
大量のデータを一度に扱うには「配列(array)」の仕組みが不可欠です。通常の変数は1つの値しか記憶できませんが、配列を使えば複数の値を1つの変数名でまとめて管理できます。この記事では配列の基本から、配列を効率的に使うためのさまざまな処理方法まで、サンプルを通じて分かりやすく解説します。

1.配列の基本
1.1. 配列とは何か?通常の変数との違い
配列の特徴比較
使い方 | 通常の変数 | 配列 |
---|---|---|
記憶できる値 | 1つのみ | 複数 |
利用例 | $a = 10; | $a = [10, 20, 30]; |
要素の取得 | $a | $a[0], $a[1], ... |
- 通常の変数:値を1つだけ保存
- 配列:複数の値を順序付きで保存。添字(インデックス)で個々の値を参照
サンプルプログラム
ファイル名: lesson36_1.php
<?php
// 通常の変数を使った例
$a = 5;
$b = 8;
$c = 2;
echo "合計: " . ($a + $b + $c) . "<br>";
// 配列を使った例
$nums = [5, 8, 2];
echo "1番目:{$nums[0]} 2番目:{$nums[1]} 3番目:{$nums[2]}<br>";
$sum = $nums[0] + $nums[1] + $nums[2];
echo "配列での合計:{$sum}";
?>
実行結果

1.2. 配列の生成とアクセス方法
- 配列は
[]
で初期化できます。 - 配列要素は
0
から始まるインデックス番号でアクセスします。
ファイル名: lesson36_2.php
<?php
$fruits = ["りんご", "バナナ", "みかん"];
echo $fruits[0]; // りんご
echo $fruits[1]; // バナナ
echo $fruits[2]; // みかん
?>
配列の主な操作
操作 | サンプル | 説明 |
---|---|---|
生成 | $nums = [2, 4, 6]; | 3つの要素を持つ配列 |
取得 | $nums[1] | 2番目の要素(4)が得られる。 |
要素数 | count($nums) | 配列の要素数を取得 |
実行結果

2.配列の利便性とメリット
2.1. データが増えても柔軟に対応できる
配列はデータの個数に応じて要素数を簡単に増やせるため、同じロジックで多くのデータを一括処理できます。
例:配列の要素数を増やすだけ
$nums = [3, 8, 6, 7, 4, 5];
echo "要素数: " . count($nums); // 6
2.2. 配列とfor文の組み合わせ
配列の値をすべて処理したい場合は、for
文やforeach
文と組み合わせるのが定番です。
サンプルプログラム
ファイル名: lesson36_3.php
<?php
$prices = [120, 130, 150, 110];
$total = 0;
for ($i = 0; $i < count($prices); $i++) {
echo "{$i}番目: {$prices[$i]}円<br>";
$total += $prices[$i];
}
echo "合計金額: {$total}円";
?>
実行結果

3.配列の種類と使い分け
3.1. 連想配列(キー付き配列)
PHPの配列は数値添字だけでなく、名前(キー)付きでも値を管理できます。これを連想配列と呼びます。
サンプルプログラム
ファイル名: lesson36_4.php
<?php
$person = [
"name" => "田中",
"age" => 25,
"job" => "エンジニア"
];
echo "氏名: {$person["name"]} 年齢: {$person["age"]} 職業: {$person["job"]}";
?>
実行結果

4.配列を使った応用例
4.1. foreach文と配列
foreach
文を使うと、配列のすべての要素を簡単に取り出して処理できます。
サンプルプログラム
ファイル名: lesson36_5.php
<?php
$colors = ["赤", "青", "緑"];
foreach ($colors as $value) {
echo "色: {$value}<br>";
}
?>
実行結果

まとめ
- 配列は複数の値をひとつの変数名でまとめて管理できるデータ構造。
- 要素数が増減しても柔軟に対応可能。forやforeach文で効率的に扱える。
- PHPでは「数値添字配列」「連想配列」など、さまざまな配列の形がある。
- 配列をうまく使うことで、大量データの一括処理や柔軟なロジック実装が容易になる。