配列の使い方

広告

まず配列がどのように使われるのかを確認してみます。例として3人分の成績を保存する場合を考えて見ます。

$result1 = 85;
$result2 = 92;
$result3 = 68;

変数を3つ用意して、それぞれの変数に成績の値を格納しています。

この3つの変数は同じような用途で使われていますが、それぞれ別々の変数であることに違いはありません。それぞれが格納している値を出力しようとすれば次のように記述する必要があります。

$result1 = 85;
$result2 = 92;
$result3 = 68;

print $result1;
print $result2;
print $result3;

格納する値が3つならばまだ大丈夫ですが100個になった場合にはprint文が100個並ぶことになります。

このような場合には配列を使うと便利です。まず配列を使って書き直してみます。

$result[0] = 85;
$result[1] = 92;
$result[2] = 68;

print $result[0];
print $result[1];
print $result[2];

変数の代わりに配列「result」を1つ用意します。1つの配列に任意の数の値を格納することができます。配列から値を取り出すために、値とは別に重複しない値を持つキーを合わせて格納します。格納する時はキーと値をペアで格納し、取り出す時はキーを指定することで指定の値を取り出すことができます。

では変数と比較して何が便利なのでしょうか。それはバラバラに用意された変数とは違い、配列は繰り返し処理や配列のために用意された構文や関数などを使って効率的に格納された値を処理できることです。例えば繰り返し処理と組み合わせることで次のように記述することが出来ます。

$result[0] = 85;
$result[1] = 92;
$result[2] = 68;

for ($i = 0; $i < 3; $i++){
  print $result[$i];
}

詳しくは次のページ以降で解説していきますが、配列のキーには整数と文字列を使用することができます。キーに整数を使っていた場合はfor文などでキーの値を変化させることで順に値を取り出すことが可能となります。この方式であれば格納された値が100個であってもfor文の条件式を変更するだけです。

また配列用に用意されたforeach文を使うこともできます。

$result[0] = 85;
$result[1] = 92;
$result[2] = 68;

foreach ($result as $val){
  print $val;
}

このように同じような利用のされ方をする値を複数管理する場合に配列は有効です。逆にまったく異なる目的の値を配列で管理してもあまり意味はありません。

では次のページ以降で配列の詳細な使い方を確認していきます。

サンプルプログラム

では簡単なプログラムで試して見ます。

sample1-1.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>PHPテスト</title>
</head>
<body>

<p>PHPのテストです。</p>

<p>
<?php
$result[0] = 85;
$result[1] = 92;
$result[2] = 68;

for ($i = 0; $i < 3; $i++){
  print $result[$i].'<br />';
}
?>
</p>

</body>
</html>

上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。

配列の使い方

PHP入門の他の記事を見てみる

( Written by Tatsuo Ikura )