Webサイトデザイン制作Tips|Webあんぎゃ

Webサイトデザイン制作における基礎知識を中心に記載しています。
内容は2013/6/7より受講している求職者支援訓練「Webサイト制作科」の授業に基づいています。

 | 

2013-09-06

Webサイト制作におけるPHPの基本(その5:配列、count関数)

Webサイト制作において、PHPで名簿などを作成する際に必要となる配列についてまとめておく。

配列

配列とは、関連する複数のデータを一つのまとまりとして扱えるようにしたもの。
通常の変数では、1つの変数に1つのデータ(値)しか入れられなかったが、配列というのは一緒に複数のデータ(値)をもつことができる。

配列の設定(作成)の仕方は下記の通り。

$配列名 = array(データ1,データ2,データ3,・・・);

また、コードで配列を用いる際には下記のような書き方となる。

$配列名[データの順番(データ数)]

[]内のデータの順番のことを「インデックス番号」または「添え字」と呼び、配列内に入れられているデータの番号(順番)を表している。
インデックス番号」は1ではなく、0から始める点に注意が必要。

さらに、「インデックス番号」を指定して新しいデータを代入することで、その「インデックス番号」のデータを上書きすることができる。
また、「インデックス番号」を指定せずにデータを追加した場合は、その時点で配列内に存在しているデータの一番最後に追加される。

count関数

count関数は、配列内にあるデータの個数を調べる関数
書き方は下記の通り。

count($配列名)

以下、確認コード。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>配列、count関数</title>
<style>
p.test {
  background: #ccc;		
}
</style>
</head>
<body>
<h2>参加者一覧</h2>
<?php
$data = array('相田さん','飯田さん','石田さん','岩田さん','牛田さん');
$data[2]='斉田さん';
$data[]='坂田さん';
$data[1]='';
print('<p class="test">'.$data[0].'</p>')."\n";
print('<p class="test">'.$data[1].'</p>')."\n";
print('<p class="test">'.$data[2].'</p>')."\n";
?>
<ol>
<?php
for($i = 0; $i < count($data); $i++){
print('<li>'.$data[$i].'</li>')."\n";
}
?>
</ol>
<p>参加者は<?php print(count($data)); ?>人です。</p>
</body>
</html>

以下、表示結果。
f:id:porco_webangya:20130906105607j:image:w360

ちなみに、配列の「インデックス番号」を飛ばして指定した場合は処理が正しくされないようである。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>配列、count関数</title>
<style>
p.test {
  background: #ccc;		
}
</style>
</head>
<body>
<h2>参加者一覧</h2>
<?php
$data = array('相田さん','飯田さん','石田さん','岩田さん','牛田さん');
$data[2]='斉田さん';
$data[]='坂田さん';
$data[1]='';
$data[10]='志田さん';     //インデックス番号を飛ばして指定
print('<p class="test">'.$data[0].'</p>')."\n";
print('<p class="test">'.$data[1].'</p>')."\n";
print('<p class="test">'.$data[2].'</p>')."\n";
?>
<ol>
<?php
for($i = 0; $i < count($data); $i++){
print('<li>'.$data[$i].'</li>')."\n";
}
?>
</ol>
<p>参加者は<?php print(count($data)); ?>人です。</p>
</body>
</html>

以下、表示結果。
f:id:porco_webangya:20130906105845j:image:w360

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/porco_webangya/20130906/1378431792
 | 
Connection: close