phpの配列
通常の変数は、1つの値を扱いましたが配列は1つの変数で複数の値を扱うことができます。
前の記事では、変数は箱をイメージすると説明しましたが、配列ではその箱に敷居を設けて複数の値(要素)を格納できるようにします。この要素には0から附番されている番号(インデックス)や文字列(キー)が割り振られます。
1つの変数でまとまった複数の値を保持することで効率的なデータ処理ができます。
インデックス配列
インデックス配列の初期化は、いくつか方法があります。空配列の宣言は、
$fruits = array();
値を入れる場合は、
1 2 3 4 |
$fruits[0] = "apple"; $fruits[1] = "orange"; $fruits[2] = "banana"; $fruits[3] = "pear"; |
画面に出力して確認してみよう!
配列の値を全てか確認したい場合は、
var_dump(配列変数) 関数
画面に出力します。
1 2 |
header("Content-type: text/html; charset=utf-8"); var_dump($fruits); |
これでもOK
1 2 3 4 5 6 7 |
$fruits[] = "apple"; $fruits[] = "orange"; $fruits[] = "banana"; $fruits[] = "pear"; header("Content-type: text/html; charset=utf-8"); var_dump($fruits); |
配列の初期化の際に値を入れる場合は
1 2 3 4 |
$fruits = array("apple","orange","banana","pear"); header("Content-type: text/html; charset=utf-8"); var_dump($fruits); |
既存の配列に複数の値を追加する場合
1 2 3 |
array_push($fruits,"cherry","pineapple","grape"); header("Content-type: text/html; charset="utf-8"); var_dump($fruits); |
個々の値にはインデックを指定することでアクセスできます(以下は、バナナが出力されます)。
1 2 |
header("Content-type: text/html; charset=utf-8"); echo $fruits[2]; |
連想配列
インデックス配列は、インデックスの番号で値を管理してますが。番号より直感的に値をイメージできる文字列をキーとして使用することでより間違いがなく扱いやすくなります。
例えば、先ほどのフルーツの値段をを管理する場合は連想配列(ハッシュ)の方が便利です。
1 2 3 4 5 |
$fruits = array(); $fruits["apple"] = 100; $fruits["orange"] = 50; $fruits["banana"] = 30; $fruits["pear"] = 120; |
初期化の際に値を設定する場合は、
1 2 3 4 5 6 7 |
$fruits = array( "apple" => 100, "orange" => 50, "banana" => 30, "pear" => 120, "meron" => 500 ); |