配列(Array)とは

配列(Array) は複数の値を箱にいれたデータです。 配列は インデックス(Index)値(value) で構成され、 Index は 0 から n-1の整数値をとります。

配列 = [value0, value1, value2,... value n-1];

複数の変数を配列にする

いくつかの飲み物を定義する例を考えてみましょう。

配列を使わない場合

配列を使わない場合、飲み物の種類ごとに変数を用意しなければいけません。

$drink1 = "コーヒー";
$drink2 = "紅茶";
$drink3 = "ほうじ茶";

配列を使った場合

配列を使うと、複数の飲み物を1つの変数にまとめることができます。

配列データを作成して変数に代入します。変数名は複数形 $drinks とするのがよいでしょう。

$drinks = ['コーヒー', '紅茶', 'ほうじ茶'];

配列の初期化(Initialize)

空の配列を作成することを初期化といい、array() または [ ] で初期化します。データの入れ物を用意するようなイメージです。

array() で初期化

array() はPHP から古くからある配列の初期化方法です。

$drinks = array();

[] で初期化

[] も同じ初期化ですが、コーディングがすっきりします。

$drinks = [];

配列のデータ定義

配列の作成と確認

配列を「コーヒー」「紅茶」「ほうじ茶」のデータで定義してみましょう。

配列 $drinks にデータを代入します。データの1つ1つは「,(カンマ)」で区切ります。

$drinks = ['コーヒー', '紅茶', 'ほうじ茶'];

配列の確認

配列は複数のデータが入っているので、配列データを echo で表示できません。 配列の中身を確認するにはデバッグ関数 var_dump()print_r() などで一時的に表示するのが便利です。

var_dump($drinks);

HTMLで表示

PHPファイルを作成してHTML部分にvar_dump() で配列の中身を表示してみましょう。

<?php
$drinks = ['コーヒー', '紅茶', 'ほうじ茶'];
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h2>配列の確認</h2>
    <p>
        <?php var_dump($drinks); ?>
    </p>
</body>
</html>
結果

配列の中身を確認してみましょう。[0]、[1]、[2] の数字は配列のインデックス(キー) といい の0 からの連番になっています。

array(3) {
  [0]=>
  string(12) "コーヒー"
  [1]=>
  string(6) "紅茶"
  [2]=>
  string(12) "ほうじ茶"
}

配列のデータ取得

インデックス(キー)を使う

配列のデータを取得するにはインデックス(キー) を使います。インデックスは 0 からの連番を指定します。

変数 = 配列名[index];

キーを指定してデータを取得する

配列の中から「紅茶」を取得してみましょう。「紅茶」は 2番目にあるのでインデックスは 1 です。

配列の2番目のデータ「紅茶」をHTMLで表示してみましょう。

<h2>2番目のデータ</h2>
<p><?= $drinks[1] ?></p>
結果
2番目のデータ
紅茶

配列のデータ更新

指定したインデックスの値を更新

配列のインデックスを指定して =(イコール) でデータを更新します。

配列[index] = 値;

「紅茶」を「ウーロン茶」で更新

「紅茶」を「ウーロン茶」で更新してみましょう。

$drinks[1] = 'ウーロン茶';
結果
2番目のデータ
ウーロン茶

配列のデータ追加

配列の最後に新規データを追加してみます。更新と同じようにデータを代入しますが、インデックスは指定しません

配列[] = 値;

「炭酸水」を追加

配列に「炭酸水」を追加してみます。

$drinks[] = '炭酸水';
結果

配列の最後にデータが追加されました。インデックス(キー)は連番で 3 となります。

array(4) {
  [0]=>
  string(12) "コーヒー"
  [1]=>
  string(15) "ウーロン茶"
  [2]=>
  string(12) "ほうじ茶"
  [3]=>
  string(9) "炭酸水"
}

演習

問題1

曜日の配列「weekdays」を作成して、コンソール表示してみましょう。

結果
["日", "月", "火", "水", "木", "金", "土"]

問題2

配列「weekdays」から「水」を取得してみましょう。

問題3

今日の曜日を表示してみましょう。

PHP超入門