【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では「数値添字配列」「連想配列」など、さまざまな配列の形がある。
  • 配列をうまく使うことで、大量データの一括処理や柔軟なロジック実装が容易になる。