配列・多次元配列
配列
- 1つの変数に複数の値を持たせることができる
配列要素に値を代入する
- 配列に値を記憶するには、添字を使って要素を指定し、値を代入する
$配列名[添字]= 値;
<?php $product[0] = '鉛筆'; $product[1] = '消しゴム'; $product[2] = '定規'; $product[3] = 'コンパス'; $product[4] = 'ボールペン'; ?>
配列要素に値を出力する
各要素の指定をするときの添字に変数を使う
<!DOCTYPE html> <html lang="ja"> <head> <title>配列(1)</title> <meta charset="UTF-8"> </head> <body> <?php $name[0] = '子'; $name[1] = '丑'; $name[2] = '寅'; $name[3] = '卯'; $name[4] = '辰'; $name[5] = '巳'; for ( $i = 0 ; $i <= 5 ; $i++ ) { print ( $name[$i] . 'ちゃん<br>' . "\n" ); } ?> </body> </html>
- 表にした場合
<!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>配列の値を出力する</title> </head> <body> <?php $product[0] = '鉛筆'; $product[1] = '消しゴム'; $product[2] = '定規'; $product[3] = 'コンパス'; $product[4] = 'ボールペン'; ?> <table border="1"> <tr><th>商品名</th></tr> <?php for($i=0; $i<5; $i++){ print ('<tr><td>' .$product[$i]. '</td></tr>'. "\n"); } ?> </table> </body> </html>
文字列を利用した「キー」
- 添字の部分には数値ではなく、文字列を利用した「キー」を利用できます
$配列名["キー"]= 値;
<!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>キーを使う</title> </head> <body> <?php $stock['みかん'] = 80; $stock['いちご'] = 60; $stock['りんご'] = 22; $stock['もも'] = 50; $stock['くり'] = 57; ?> <table border="1"> <tr><th>在庫状況</th></tr> <?php print ('<tr><td>みかんは、' .$stock['みかん']. '個です。</td></tr>' . "\n"); print ('<tr><td>いちごは、' .$stock['いちご']. '個です。</td></tr>' . "\n"); print ('<tr><td>りんごは、' .$stock['りんご']. '個です。</td></tr>' . "\n"); print ('<tr><td>ももは、' .$stock['もも']. '個です。</td></tr>' . "\n"); print ('<tr><td>くりは、' .$stock['くり']. '個です。</td></tr>' . "\n"); ?> </table> </body> </html>
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>配列(2)</title> </head> <body> <?php $name['ne'] = "子"; $name['ushi'] = "丑"; $name['tora'] = "寅"; $name['u'] = "卯"; $name['tatsu'] = "辰"; $name['mi'] = "巳"; print ( $name['tora'] . 'ちゃんと、' . $name['tatsu'] . 'ちゃんは兄弟です。<br>' . "\n" ); ?> </body> </html>
多次元配列
- 配列の中に配列が入っている配列
- 配列のキー名は値へアクセスする際の住所のようなもの
- 複雑な多次元配列でも最後に取り出す値は1つです
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>多次元配列</title> </head> <body> <?php $users[1]['name'] = 'suzuki'; $users[1]['mail'] = 'suzuki@mail.com'; $users[2]['name'] = 'saitou'; $users[2]['mail'] = 'saitou@mail.com'; $users[3]['name'] = 'tanaka'; $users[3]['mail'] = 'tanaka@mail.com'; print ($users[1]['name'].'<br>' . "\n"); print ($users[1]['mail'].'<br>' . "\n"); print ($users[2]['name'].'<br>' . "\n"); print ($users[2]['mail'].'<br>' . "\n"); print ($users[3]['name'].'<br>' . "\n"); print ($users[3]['mail'].'<br>' . "\n"); ?> </body> </html>
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>多次元配列</title> </head> <body> <?php $schoolchild['grade6']['class1']['boy'][3]['no'] = 3; $schoolchild['grade6']['class1']['boy'][3]['name'] = 'arai'; $schoolchild['grade6']['class1']['boy'][3]['mail'] = 'arai@mail.com'; print ($schoolchild['grade6']['class1']['boy'][3]['name']); ?> </body> </html>