多次元配列は配列の中に配列が入れ子になっており、2次元配列などとも呼ばれますね。
特にデータベースと連携したプログラムなどではよく出てきますので、よく理解しておきましょう。
多次元(添字)配列をセットする
まずは多次元配列に値をセットしてみましょう。
1 2 3 4 5 6 7 8 |
$profile = array( array('田中', 21), array('山本', 24), array('長澤', 26) ); echo $profile[0][0].':'.echo $profile[0][1].'歳'; echo $profile[2][0].':'.echo $profile[2][1].'歳'; |
田中:21歳
長澤:26歳
[0][0]
とキーが2つ並んでいますね。
これは配列が入れ子になっているからです。
上記の長澤さんの例だと以下のようになります。
- 3番目のarrayなので
[2]
- 名前は配列の最初なので
[0]
echo $profile[2][0];
で名前が呼び出せる- 年齢は配列の2番目なので
[1]
$profile[2][1]
で年齢を呼び出せる
連想配列をセットする
次に、多次元連想配列をセットしてみます。
上記の例は、自動で0から始まる連番(キー)が振られますが、今回はキーも設定できる連想配列のタイプです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$profiles = array( 'tanaka' => array( 'sex' => '男性', 'age' => 21 ), 'yamamoto' => array( 'sex' => '女性', 'age' => 24 ), 'nagasawa' => array( 'sex' => '女性', 'age' => 26 ) ); echo '田中:'.$profiles['tanaka']['sex']; echo '長澤:'.$profiles['nagasawa']['age'].'歳'; |
田中:女性
長澤:26歳
キーが0から始まる連番ではなく、独自に設定したキーになりました。
長澤さんの例だと以下のようになります。
- 長澤さんのキーは
nagasawa
なので['nagasawa']
- その中の年齢を呼び出したいので
['age']
$profiles['nagasawa']['age']
で長澤さんの年齢だけ呼び出せる
連想配列タイプはコードを見ただけでどの値かイメージしやすいですね。