配列

配列はプログラム上で複数のデータを管理する仕組みです。これまでに学習してきた変数は1つのデータしか管理できませんでしたが、配列は複数のデータをまとめて管理することができます。

配列は変数の一種です。配列のことを変数と呼んだり、配列変数と呼んだりすることもあります。

テキストエディタを開いて次のプログラム(array1.php)を作成してみましょう。

<?php
$names = ["Andy", "Betty", "Carol"];

echo "Hello ";
echo $names[0];
echo "Hello ";
echo $names[1];
echo "Hello ";
echo $names[2];

まずは作成したプログラムを実行してみましょう。ターミナルから次のように実行します。

$ php array1.php
Hello AndyHello BettyHello Carol

上記の結果から"Andy""Betty""Carol"3つのデータが出力されているのがわかります。

配列の要素

それではプログラム(array1.php)の詳細を見てみましょう。プログラムの先頭の部分で配列$namesを定義しています。

<?php
$names = ["Andy", "Betty", "Carol"];

配列には複数のデータを代入することができます。また配列は変数の一種です。ここでは配列$namesの中に、次の図のように"Andy""Betty""Carol"3つのデータが代入されています。

配列を構成する個々のデータは要素と呼びます。配列の要素には先頭から順番に番号が割り振られています。この番号のことを要素番号と呼びます。要素番号は0から開始する点に注意してください。

PHPでは配列の要素番号のことをキーと呼びます。ここでは後の連想配列と比較するために要素番号という用語を使っています。

配列は要素番号を指定することで一つのデータを取り出すことができます。たとえば配列$namesに要素番号としてと0を指定する場合は$names[0]と記述します。引き続きプログラム(array1.php)の詳細を見てみましょう。

echo "Hello ";
echo $names[0]; # 先頭の要素にアクセス
echo "Hello ";
echo $names[1]; # 前から2番目の要素にアクセス
echo "Hello ";
echo $names[2]; # 前から3番目の要素にアクセス

上記のプログラムでは要素番号に012を指定することで配列の要素を先頭から順番にアクセスしています。

要素番号の指定

PHPの要素番号は0から割り振られることを学びました。それでは存在しない要素番号にアクセスするとどうなるのでしょうか。次のプログラム(array2.php)を作成してみましょう。

<?php
$names = ["Andy", "Betty", "Carol"];

echo $names[3];

ここでは配列に存在しない要素番号である3を指定しています。このような誤った指定をするとどうなるのでしょうか。作成したプログラムを実行してみましょう。ターミナルから次のように実行します。

$ php array2.php
PHP Notice:  Undefined offset: 3 in /Users/murayama/Desktop/php/array/array2.php on line 5

Notice: Undefined offset: 3 in /Users/murayama/Desktop/php/array/array2.php on line 5

プログラムを実行すると上記のような注意メッセージが表示されます。Undefined offset: 3という出力から「定義されていない要素番号3」にアクセスしていると読み取れます。

PHPのエラーメッセージにはError(エラー)、Warning(警告)、Notice(注意)など様々な種類があります。ここではPHP Noticeと先頭に出力されています。


前へ | 次へ