一次元配列
配列はボックスが連なったデータ形式で、要素を指定するキーは、0から始まります。
配列は関連性のあるデータをまとめておくのに利用されます。
それでは早速、下記のように記述し、公開フォルダの「htdocs」にファイルを置いて、アドレスバーから呼び出してみましょう。
array関数による配列の作成
[ ]による配列の追加
PHP5.4バージョンからは、配列の短縮構文も追加され、array()の代わりに[ ]を使えるようになりました。
変数や配列を表示する関数var_dumpを使って表示してみましょう。
配列に値を追加する
今回は指定なく空の$friends[ ] =” “にて0,1,2のあとの3、つまり4番目に代入しています。
キーを指定して値を追加する
for構文と配列
array関数でキーを指定しなかった場合、配列のキーは0から始まります。
配列を、for構文を使って全部表示してみます。
変数iが3未満の場合、TRUEとなり、変数iに加算される設定。$friendsのキーは0,1,2になっています。そのため全員が表示されます。
今度はキーを増やし、3以上(<=)を表示してみましょう。D子まで表示されるはず・・
多次元配列
多次元配列は「配列の配列」になります。例えばクラスの変数studentsに1組、2組を代入し、その1組の生徒を例えばA、B、Cとします。そうするとBの生徒を示すのは、$students[0][1]となります。1組の0、Bの1にて。
連想配列
場合によっては、キーが数字ではなく文字列の方が直感的にわかりやすいときがあります。
例えば、5教科のテストの成績(変数resultとします)を配列で表現したいときがあるとします。
- japanese 80点
- math 85点
- science 70点
- history 90点
- english 88点
$result[‘math’] = 85 この場合、キーがmathの文字列になっていてわかりやすいですね。文字列なのでダブルクォーテーション(””)かシングルクォーテーション(’’)で囲みます。
では、連想配列の作成をしてみましょう。
連想配列を作るときは、通常の配列と違って「キー => 値」という形式で指定します。このときの「=>」をダブルアロー演算子と呼びます。下記のような実行結果となります。
値の上書きと追加
下記のように記述すれば上書きと追加もできます。
foreachと連想配列
キーが文字列なので、for構文でキーをインクリメントして指定することができません。そこで便利なのが、foreach構文です。配列それぞれについてforするということができます。配列が存在する分だけループさせるにはこれを使いましょう。
foreach (配列 as ループ内変数名) { 処理 }
では先ほどの連想配列をforeach構文で「値」を出力してみましょう。
次は「キー」と「値」を出力してみましょう。それには下記のような構文にします。
foreach (配列 as ループ内でのキー変数名 => ループ内変数名) { 処理 }