配列・多次元配列

配列

  • 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>