PHPにおける配列

配列とは、変数の集まりのことです。高校で習うベクトルのようなものです。配列を使うことで複数の変数を一つにまとめることができプログラムがかきやすくなります。この記事では、PHPの配列の基本的な使い方を紹介します。

配列の基本

配列は以下の形式

$<配列>[数字や文字]

で使用します。例えば、

$a[2]=1;

のように使います。では、配列を使ったプログラムをつくってみましょう。以下に、「配列に曜日の情報をいれてその情報を呼び出すプログラム」を載せます。

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>配列の使い方</title>
</head>
<body>
<p>
<?php
$week[1]='月';    //配列$weekに曜日を代入
$week[2]='火';
$week[3]='水';
$week[4]='木';
$week[5]='金';
$week[6]='土';
$week[7]='日';
$today=3;            //$todayに3を代入
echo '今日は'.$week[$today].'曜日です。<br>';
echo '明日は'.$week[$today+1].'曜日です。';
?>
</p>
</body>
</html>

このプログラムを起動すると

今日は水曜日です。
明日は木曜日です。

と表示されます。解説ですが、配列$weekに月曜日から日曜日まで代入して、

  1. $week[$today]=$week[3]=’水’
  2.  $week[$today+1]=$week[4]=’木’

をechoで出力させているだけです。

配列の初期化

配列の初期化の際に、いちいち

$a[1]=2;
$a[2]=4;
...

と書いていては面倒だと思われた方もいるのではないでしょうか。配列を一気に値を書きたいものです。そこで出てくるのが「array関数」です。array関数で一度で初期化できます。

$変数名=array(要素1,要素2,要素3,…);

例えば

$a=array(10,9,8,7,6,5,4,3,2,1);

としてやれば、

  1. $a[0]=10,
  2. $a[1]=9,
  3. $a[2]=8,

という具合に変数$aに値が代入されます。array関数の配列は0から始まるのが特徴です。

もし、1からはじめたければ、

$a=array(1=>10,9,8,7,6,5,4,3,2,1);

とかきます。「配列の番号=>値」で指定するわけです。

ではarray関数を使って先ほどの月曜から日曜までのプログラムをかいてみましょう。すると以下のようになります。

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>配列の使い方</title>
</head>
<body>
<p>
<?php
$week=array(1=>'月','火','水','木','金','土','日');
$today=3;
echo '今日は'.$week[$today].'曜日です。';
echo '明日は'.$week[$today+1].'曜日です。<br>';
?>
</p>
</body>
</html>

かなりすっきりしたのがわかるかと思います。

添字を文字列で指定(キーの使用)

添字を文字列で指定できる 配列の添字は数字でなくて文字列でも指定できます。

$変数名=array(文字列1 => 値1, 文字列2 => 値2,…);

例えば

$data=array('id'=> 'jprogramer', 'name'=>'山田太郎');
echo $data['id']; //jprogramerが表示
echo $data['name']; //山田太郎が表示

といったかんじで使用します。このような指定方法はC言語などにはなく、PHP独特なものです。はじめは使いづらいかもしれませんが、使える場面があれば使ってみるといいでしょう。

著者:安井 真人(やすい まさと)