シンプルな名簿を作成(4):連想配列
array関数:連想配列
- P.94参照
array (キー名 => 値, キー名 => 値, …)
- 配列では値を列挙するだけでしたが、連想配列は「キーと値の組み合わせ」を「キー => 値」の形式で表します
- キーが重複してもエラーにはなりませんが、最初に設定した値は上書きされます
連想配列には、「$変数名['キー名']」のようにアクセスできます。
例えば「山田太郎」というキーにアクセスするには、以下のように記述します。
<?php print($data['山田太郎']); ?>
foreach命令
- 連想配列の内容を順番に取り出す
- P.95参照
<?php $data = array( '山田太郎' => '東京都東京市東町1-1-1', '横山花子' => '神奈川県神奈川市西町1-2-3', '田中一郎' => '東京都東京市南町2-1-4', '山本久美子' => '東京都東京市西町3-2-1', '鈴木次郎' => '千葉県千葉市北町1-4-2', '星山裕子' => '茨城県茨木市東町3-2-1', '佐藤勝男' => '東京都東京市北町2-1-3' ); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>PHP入門教室</title> </head> <body> 名簿には<?php print(count($data)); ?>人が登録されています。 <dl> <?php foreach($data as $name => $address) { print('<dt>'.$name.'</dt>'."\n"); print('<dd>'.$address.'</dd>'."\n"); } ?> </dl> </body> </html>
《実行結果》
配列の入れ子(ネスト)
- 配列に保存できる値は、文字・数値・真偽値はもちろん「配列」もセットできます
- P.97参照
二次元配列
<?php $data = array( array('00', '01', '02'), array('10', '11', '12'), array('20', '21', '22') ); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>PHP入門教室</title> </head> <body> <pre> <?php print_r($data); ?> </pre> </body> </html>
《実行結果》
多次元配列
<?php $data2 = array( array( array('A00', 'A01', 'A02'), array('A10', 'A11', 'A12') ), array( array('B00', 'B01', 'B02'), array('B10', 'B11', 'B12') ), array( array('C00', 'C01', 'C02'), array('C10', 'C11', 'C12') ) ); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>PHP入門教室</title> </head> <body> <pre> <?php print_r($data2); ?> </pre> </body> </html>
《実行結果》