[第4回]配列を使ってプログラムを作ろう! | [初級編]PHPでプログラミングしよう

This entry is part 4 of 4 in the series [初級編]PHPでプログラミングしよう

今回は配列を使ったプログラミングをやっていきます!

配列がよくわからないという方は、下記の記事をみて理解を深めてみましょう。

配列ってなに?

それでは、変数の記事と同様にまずPHPにおいてのちょっとした配列のルールを学んだあと、実際にプログラム書いてみましょう!

[add_adsense_singleLinkAd]

PHPでの配列名の付け方

前回紹介しました変数と同じように、配列も命名規則(ルール)に従ってつけなければなりません。

その命令規則は変数と同じです。

下記の命名規則に従えば、自由に名前を付けることができます。

配列の命名規則

  1. ・配列名の始めは、$(ダラー)から始める。
  2. ・半角英数字と_(アンダーバー)が使える。
  3. ・配列名では英字の大文字、小文字は区別される。
  4. ・数字は配列名の先頭文字として使うことができない。
  5. ・PHPの予約語は配列名に使うことができない。

配列を生成(宣言・初期化)の種類について

配列には様々な種類と生成方法があります。

一気に覚えるのは大変ですので、まずは下記に記載する比較的簡単な方法から覚えていくようにしましょう!

  • ・array関数を使う方法
  • ・1つずつ代入していく方法

配列の使用方法

下記の構文を覚えていきましょう。

書き方としては、2パターンあるのでひとつずつご紹介していきますね。

配列の使用方法その1(array関数を使う方法)

書き方その1(array関数を使う方法)

$noodleType = array();//明示的に配列を初期化
$noodleType = array('しょうゆ','カレー','シーフード');
echo "<p>カップヌードルの種類は、</p>";
echo "<p>・" . $noodleType[0] ."</p>";
echo "<p>・" . $noodleType[1] ."</p>";
echo "<p>・" . $noodleType[2] ."</p>";
echo "<p>の3種類があります。</p>";	

実行結果

「書き方その1(array関数を使う方法)」では、配列に入れる値を,(カンマ)で区切って書いています。

サンプルコードでは、3つの要素しか作っていませんが、実際にプログラミングする際には、必要な要素数分の値を代入していきます。

書き方その2(array関数を使う方法)

$noodleType = array();//明示的に配列を初期化
$noodleType = array('syouyu' => 'しょうゆ' ,
	                           'curry' => 'カレー',
		                   'seafood' => 'シーフード');
echo "<p>カップヌードルの種類は、</p>";
echo "<p>・" . $noodleType['syouyu'] ."</p>";
echo "<p>・" . $noodleType['curry'] ."</p>";
echo "<p>・" . $noodleType['seafood'] ."</p>";
echo "<p>の3種類があります。</p>";

「書き方その2(array関数を使う方法)」では、連想配列を作成しています。

連想配列が詳しく知りたい方は、下記の記事をご覧ください。

配列ってなに?

「書き方その2」は、「キー => 値」の形式mのキーと値のペアを,(カンマ)で区切って並べて書きます。

=>は、半角の=(イコール)と>(大なり記号)をくっつけて書いてください。

このサンプルコードも、3つの要素しか作っていませんが、実際にプログラミングする際には、必要な要素数分の値を代入していきます。

また、実行結果は「書き方その1(array関数を使う方法)」と同じ実行結果になります。

配列の使用方法その2(1つずつ代入していく方法)

書き方その1(1つずつ代入していく方法)

$noodleType[0] = 'しょうゆ';
$noodleType[1] = 'カレー';
$noodleType[2] = 'シーフード';
echo "<p>カップヌードルの種類は、</p>";
echo "<p>・" . $noodleType[0] ."</p>";
echo "<p>・" . $noodleType[1] ."</p>";
echo "<p>・" . $noodleType[2] ."</p>";
echo "<p>の3種類があります。</p>";

実行結果

配列への代入には、変数同様の=(代入演算子)を使用して各要素にデータを代入していきます。

任意の要素を参照(データを見る)するには、要素名と添字を記述して参照します。

書き方その2(1つずつ代入していく方法)

$noodleType[] = 'しょうゆ';
$noodleType[] = 'カレー';
$noodleType[] = 'シーフード';
echo "<p>カップヌードルの種類は、</p>";
echo "<p>・" . $noodleType[0] ."</p>";
echo "<p>・" . $noodleType[1] ."</p>";
echo "<p>・" . $noodleType[2] ."</p>";
echo "<p>の3種類があります。</p>";

「書き方その2(1つずつ代入していく方法)」では、代入するときにキーに何も指定せず[]を記述します。

この記述方法にすると、自動的に添字が、0から昇順に割り振られます。

また、実行結果は「書き方その1(1つずつ代入していく方法)」と同じ実行結果になります。

書き方その3(1つずつ代入していく方法)

$noodleType['syouyu'] = 'しょうゆ';
$noodleType['curry'] = 'カレー';
$noodleType['seafood'] = 'シーフード';
echo "<p>カップヌードルの種類は、</p>";
echo "<p>・" . $noodleType['syouyu'] ."</p>";
echo "<p>・" . $noodleType['curry'] ."</p>";
echo "<p>・" . $noodleType['seafood'] ."</p>";
echo "<p>の3種類があります。</p>";

「書き方その3(1つずつ代入していく方法)」でも、連想配列で作成することができます。

連想配列が詳しく知りたい方は、下記の記事をご覧ください。

配列ってなに?

配列の書き方の説明は以上です。

それでは実際に、配列を使用したプログラムを作ってみましょう!

配列を使用したプログラム

今回は、配列を使用して簡単な占いプログラムを作ってみましょう!

それでは、まずテキストエディタを起動して下記のコードを入力してみましょう!

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>占いプログラム</title>
</head>

<body>
<?php 
$omikuji = array();//明示的に配列を初期化
$omikuji = array('大吉','中吉','小吉','吉','末吉','凶','小凶','半凶','大凶');
$fortune = rand(0,8);//0〜8までの乱数を取得する
echo "<p>あなたの今日の運勢は...". $omikuji[$fortune] . "です!</p>";	
?>
</body>
</html>

コードが入力できたら、[lesson03.php]のファイル名で保存して、[lesson]フォルダに、[lesson03.php]を[lesson]フォルダ内に移動させましょう。

次に、Xamppを起動して、URLを入力するところに、「http://localhost/lesson/lesson03.php」と入力しEnter(エンター)キーを押しましょう。

実行結果

実行結果

おみくじプログラムについて解説

このプログラムでは、ブラウザをリロード(更新)する度に、おみくじの結果が変わります。

今回のプログラム中で使用している、配列$omikujiの要素数(値の数)は「9」ありますね。

配列の添字は0始まりの連番となりますので、割り振られている添字は0〜8となります。

この添字の番号を、12行目のrand関数(乱数を使用する命令文)を使用して、0〜8までの範囲で乱数を取得して変数$fortuneに値を代入しています。

乱数とは、コンピュータがランダムに選んでくれる数字のことで、rand関数では取得する数字の範囲を指定することができます。

このrand関数を使用しているので、リロードする度に配列の添字が変わり、毎回おみくじの結果が変わる仕組みとなっています。

第4回目は、ここまでとします。お疲れ様でした!

次回

次回は、「算術演算子」についての説明と、実際に「算術演算子」を使用したプログラミングやっていこうと思います!
次回もお楽しみに!

連載記事<< [第3回]変数を使ってプログラムを作ろう! | [初級編]PHPでプログラミングしよう