【On to PHP】配列ってなに?

こんにちは、さるまりんです。

$var = 1;

これは変数$varに数値1を代入しています。

例えば数値を10個格納する為に次のように変数を10個用意したとします。

$var1 = 1;
$var2 = 2;
$var3 = 3;
$var4 = 4;
$var5 = 5;
$var6 = 6;
$var7 = 7;
$var8 = 8;
$var9 = 9;
$var10 = 10;

$var1〜$var10はそれぞれ別々の変数です。もちろんこれでもいいのですがまとめて扱いたい時があります。その為にあるのが配列です。

配列ってなに?

配列とは複数の値を一つの変数名と添字を使って管理する仕組みです。

配列の作成

配列を作成する構文は次の通りです。

$配列名 = [値1, 値2, 値3, 値4, ...];

上の数値10個の例を配列を使って書き換えると

$var = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

になります。

配列の要素へのアクセス

ではそれぞれの値にアクセスするにはどうするでしょう。それにはインデックスを利用します。例えば3番目の値にアクセスしたい時は次のようになります。

print $var[2];

上のコードでは3が出力されます。

ん?2

そうなんです。インデックスは0から始まります。1番目が0、2番目が1、3番目が2というように、n番目の時にはn-1がそのインデックスになります。

値を代入するときも同じようにインデックスを利用して指定することができます。

$var[9] = 0;

上のコードでは10番目に0を代入しています。

配列でインデックスを省略すると・・・

配列ではこんなこともできます。

$var = [];
$var[] = 15;
$var[] = 16;
$var[] = 17;
print $var[2];

1行目では配列の変数$varを作成しています。その時の配列の中身は空です。[]の間に何もないですよね。要素なしということです。

2行目〜4行目は値の代入です。インデックスを指定せずに$var[] = として値を代入すると、その時の最大インデックス+1が割り当てられます。なので2行目では0、3行目では1、4行目では2がそれぞれ割り当てられています。

なので5行目では17が出力されます。

上の例では数値ですが、配列はもちろんそれ以外も格納できます。

$greetings = [
    'good morning',
    'good afternoon',
    'good evening',
    'good night',
    'goodbye',
    'hello',
    'hi',
    'ciao'];

挨拶の文字列群の配列$greetingsです。

便利な使い方がいろいろできますので今後触れていきますね。

それではまた!

Onto PHP 目次