読者です 読者をやめる 読者になる 読者になる

Webデザインの勉強 ハロートレーニング 受講生のためのWebデザインの勉強補足ブログ

配列の基本

配列(array)とは

  • たくさんの変数を扱うときなど、値をまとめて記憶する
  • 関連したデータを保存しておくための連なった箱
  • 1番目の番号(添字)は、「0」
配列の宣言と代入
  • 「array関数」を使用して配列の宣言
  • array関数を使わず、各配列要素に直接を代入


配列宣言のみを行う場合


配列変数名 = array ();


配列の宣言と初期化を行う場合


配列変数名 = array ( 値1, 値2, 値3・・・);

<?php
    // 配列変数$nameを宣言し、各要素を設定して初期化しています
    $name = array( '佐藤', '山田', '鈴木' );
    echo ( $name[0].'さん、'.$name[1].'さん、'.$name[2].'さん' );

配列の利用

配列要素に値を代入する
  • 配列に値を記憶するには、添字を使って要素を指定し、値を代入する



$配列名[添字]= 値;

  • array関数を使わず、以下のように各配列要素に直接、値を代入する
<?php 
  $product[0] = '鉛筆';
  $product[1] = '消しゴム';
  $product[2] = '定規';
  $product[3] = 'コンパス';
  $product[4] = 'ボールペン';
配列要素に値を出力する


各要素の指定をするときの添字に変数を使う

<?php
  $product[0] = '鉛筆';
  $product[1] = '消しゴム';
  $product[2] = '定規';
  $product[3] = 'コンパス';
  $product[4] = 'ボールペン';
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>配列の値を出力する</title>
</head>
<body>
<table border="1" width="100">
<tr><th>商品名</th></tr>
<?php
for ( $i = 0; $i < 5; $i++ ) {
  echo '<tr><td>' . $product[$i] . '</td></tr>' . "\n";
}
?>
</table>
</body>
</html>  
キーによる格納
  • 配列の添字として文字列を使う



$配列名["キー"]= 値;

<?php 
  $stock[ 'みかん' ] = 80;
  $stock[ 'いちご' ] = 60;
  $stock[ 'りんご' ] = 22;
  $stock[ 'もも' ] = 50;
  $stock[ 'くり' ] = 57;
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>キーを使う</title>
</head>
<body>
<table border="1" width="120">
<tr><th>在庫状況</th></tr>
<?php
  echo '<tr><td>みかんは' . $stock[ 'みかん' ] .'個</td></tr>' . "\n";
  echo '<tr><td>いちごは' . $stock[ 'いちご' ] . '個</td></tr>' . "\n";
  echo '<tr><td>りんごは' . $stock[ 'りんご' ] . '個</td></tr>' . "\n";
  echo '<tr><td>ももは' . $stock[ 'もも' ] . '個</td></tr>' . "\n";
  echo '<tr><td>くりは' . $stock[ 'くり' ] . '個</td></tr>' . "\n";
?>
</table>
</body>
</html> 
キー値と繰り返し文
  • 配列を扱う際、foreach文と呼ばれる特殊な繰り返し文を使うことができます
  • キー用の変数と値用の変数を用意し、配列のキーと値を格納することができます



foreach($配列名 as $キー用の変数 => $値用の変数){
 …
}

  • 値だけを格納する場合


foreach($配列名 as $値用の変数){
 …
}

<?php 
  $stock[ 'みかん' ] = 80;
  $stock[ 'いちご' ] = 60;
  $stock[ 'りんご' ] = 22;
  $stock[ 'もも' ] = 50;
  $stock[ 'くり' ] = 75;
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>foreach文を使う</title>
</head>
<body>
<table border="1" width="160">
<tr><th>商品名</th><th>在庫状況</th></tr>
<?php
  foreach ( $stock as $name => $value ) {
    echo '<tr><td>' . $name . '</td><td>' . $value . '個</td></tr>' . "\n";
}
?>
</table>
</body>
</html>
添字と繰り返し文
  • キーとして添字も出力できる
<?php 
  $product[0] = '鉛筆';
  $product[1] = '消しゴム';
  $product[2] = '定規';
  $product[3] = 'コンパス';
  $product[4] = 'ボールペン';
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>foreach文で添字を出力する</title>
</head>
<body>
<table border="1" width="160">
<tr><th>番号</th><th>商品名</th></tr>
<?php
  foreach ( $product as $id => $value ) {
    echo '<tr><td>' . $id . '</td><td>' . $value . '</td></tr>' . "\n";
  }
?>
</table>
</body>
</html> 


広告を非表示にする