配列

 複数のデータを扱うときに、変数では不便に感じる場合があります。配列を使えば、複数のデータをまとめて扱うことができるようになります。配列は、変数をまとめて管理することができます。

 例えば、10人分のテストの点数の合計点、平均点、最大点、最低点などを求めるプログラムを作るとします。10人分の点数を変数に記憶させて扱おうとする場合10個の変数を用意しなければなりません。配列なら10人分の点数をまとめて扱うことができます。

複数の変数のイメージ
複数の変数のイメージ

配列のイメージ
配列のイメージ

 要素が空の配列は次のように用意します。

空要素配列の書式
$配列名 = array(); $配列名 = [];

※[]はPHP5.4以降で使用できます。

○ ファイル

 次のようにファイルを作成してください。

ファイルの種類 PHP ファイル
ファイル名 arraytest1.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. <?php
  2. $fruits = array();
  3. $vegetables = [];
  4. //文字化け対策
  5. header("Content-Type: text/html; charset=utf-8");
  6. //配列の内容を表示する
  7. var_dump($fruits);
  8. var_dump($vegetables);

○ 実行結果

実行結果
実行結果

○ 解説

 3行目では、array関数を使って配列を指定しています。4行目では、[]を使って配列を指定しています。この記述方法は、PHP5.4で追加されました。10、11行目ではvar_dump関数を使用して、配列の中身を表示しています。この関数は()内に指定した式のデータ型や値などの情報を出力します。今回は要素が空なので、sizeが0、データはemptyで表示されます。

 配列を構成する一つ一つの変数は要素と呼ばれます。また要素にはインデックス番号が割り当てられます。インデックス番号(添字とも言う)は0から指定できます。各要素にはインデックス番号を指定してデータを代入したり、参照したりすることができます。

配列代入の書式
$配列名[インデックス番号] = ;

○ ファイル

 次のようにファイルを作成してください。

ファイルの種類 PHP ファイル
ファイル名 arraytest2.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. <?php
  2. //空要素配列の用意
  3. $fruits = array();
  4. $vegetables = [];
  5. //配列にデータを代入
  6. $fruits[0] = 'りんご';
  7. $vegetables[2] = 'にんじん';
  8. //文字化け対策
  9. header("Content-Type: text/html; charset=utf-8");
  10. //配列の内容を表示する
  11. var_dump($fruits);
  12. var_dump($vegetables);

○ 実行結果

実行結果
実行結果

○ 解説

 7行目では$fruits配列のインデックス番号「0」番の要素に「りんご」を代入しています。8行目では$vegetables配列のインデックス番号「2」番の要素に「にんじん」を代入しています。インデックス番号を指定して代入することで要素が用意されるので、代入していない他のインデックス番号の要素にアクセスするとエラーになります。

配列に代入
配列に代入

 配列は、配列の用意と同時にデータの代入をすることができます。これを初期化といいます。

配列初期化の書式
$配列名 = array(値1, 値2, );
$配列名 = [値1, 値2, ];

○ ファイル

 次のようにファイルを作成してください。

ファイルの種類 PHP ファイル
ファイル名 arraytest3.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. <?php
  2. //配列の用意
  3. $fruits = array('りんご', 'みかん');
  4. $vegetables = ['にんじん', 'キャベツ', 'レタス'];
  5. //文字化け対策
  6. header("Content-Type: text/html; charset=utf-8");
  7. //配列の内容を表示する
  8. var_dump($fruits);
  9. var_dump($vegetables);

○ 実行結果

実行結果
実行結果

○ 解説

 3、4行目では配列の初期化をしています。3行目ではarray関数の()内で、カンマ区切りで指定した値が順番に配列の要素として用意されます。

配列の初期化
配列の初期化

 配列の要素数がいくつあるかを調べることができます。

配列の要素数取得の書式
count($配列名)

○ ファイル

 次のようにファイルを作成してください。

ファイルの種類 PHP ファイル
ファイル名 arraylengthtest.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. <?php
  2. //配列の用意
  3. $vegetables = ['にんじん', 'キャベツ', 'レタス'];
  4. //文字化け対策
  5. header("Content-Type: text/html; charset=utf-8");
  6. //配列の要素数を表示
  7. print('要素数:' . count($vegetables));
  8. //配列の内容を表示する
  9. var_dump($vegetables);

○ 実行結果

実行結果
実行結果

○ 解説

 9行目で配列の要素数を表示しています。配列は次の章で学習する繰り返し処理と組み合わせるととても便利です。繰り返す回数を決めるときに配列の要素数を使用することができます。そうすることで柔軟なプログラムを作成することが可能です。

前へ   次へ