***HPクリエイターのためのCGI講座 第6回***
2.2 配列データ型

配列は、データのリストを格納するための変数です。
配列型変数は変数名の頭に @ 記号が付きます。
配列内の一つのデータを要素と呼び、各要素はインデックス番号を[ ]で囲んでアクセスします。
インデックス番号は0から始まる連番です。

演習プログラムを解説します

@hairetu_1=(1,2,3,4);
配列変数へ数値を設定

@hairetu_2=("abc","123","xyz");
配列変数へ文字列を設定

@hairetu_3=("abc",9,"xyz",8);
文字列と数値の混合配列もOK

各配列を図式化すると次のようになります。

インデックス @hairetu_1 @hairetu_2 @hairetu_2
0 1 "abc" "abc"
1 2 "123" "9"
2 3 "xyz" "xyz"
3 4 要素無し 8

$yoso_1 = $hairetu_1[0];
@hairetu_1の1番目(インデックス番号=0)の要素を取り出しています。
要素にアクセスする場合は「@」ではなく、「$」に変わります。
配列の各要素は、スカラー変数と同じだからです。
つまり、配列とは、スカラーの集合とも呼べるでしょう。

$yoso_2 = $hairetu_2[1];
@hairetu_2の2番目(インデックス番号=1)の要素を取り出しています。

$hairetu_3[2] = 9;
@hairetu_3の3番目(インデックス番号=2)の要素へ9を代入しています。
各要素は取り出すだけではなく、設定もできます。

@hairetu_4=(1,2,@hairetu_2,3,4);
設定時に配列を記述することも可能です。
@hairetu_4を図式化すると次のようになります。

インデックス @hairetu_1
0 1
1 2
2 "abc"
3 "123"
4 "xyz"
5 3
6 4

$len = @hairetu_1;
このように記述すると、配列の要素数を得ることができます。

($yoso_3) = @hairetu_2;
スカラー変数にカッコを付けると、配列の先頭を取り出せます。


********************************************************************************
講師:ALK alk@arkland.co.jp
運営:アークランド(株) http://www.arkland.co.jp