【PHP】【switch】【function】【初心者】自動販売機を作ってみた!

こんにちは。たくじろう(@takujiro_0529)です。

今回はPHPで自動販売機のシステムをつくってみました。

あえて今回は「switch」と「function」を使ってみました。

この二つの関数をまだ理解していない人や、ちょっと練習してみたいという人向けです。

これで少しでも理解が深まってくれたら嬉しいです。

完成したソースを小出しにしていきますので、一緒に考えながらやっていきましょう。
では、今回作成したシステムをみていきます。

スポンサーリンク

スポンサーリンク




はじめに

「switch」と「function」を使ったソースになっていきますが、それぞれの利用用途としては

・swichが商品の場合分け(自動販売機のボタンのイメージ)
・functionが買う行動(ボタンを押した後、商品が出るまでの流れ)

として役割を分けます。

結果表示としては

・購入できた場合 → 「〜をどうぞ。」
・お釣りがある場合 → 「〜円のお釣りです。」
・お金が足りない場合 → 「お金が足りません。」

と表示することとします。

そして商品の選択、投入額はそれぞれベタにソースに書き込んでいくことにします。

それではソースを少しずつ組み立てていきます。

投入額、商品選択のベタ打ち

まず商品と投入金額をベタ打ちします。

[php]
〈?php
//投入金額
$PoketMany = 150;

//商品選択
$Drink = ‘ナタデココ’;
?〉
[/php]

※商品に関してはこの後の商品一覧に入れることを想定して入力してください。

「switch」を使った商品一覧の作成

次に「switch」を使って商品一覧を作成していきます。

[php]

//投入金額
$PoketMany = 150;

//商品選択
$Drink = ‘ナタデココ’;

//商品一覧
switch ($Drink) {

case '缶コーヒー':
    $vallue = 120;
    break;

case '緑茶':
    $vallue = 150;
    break;

case ‘コーラ’:
$vallue = 150;
break;

case 'ナタデココ':
    $vallue = 120;
    break;

}

[/php]

$Drinkを引数にして商品の種類を選択していきます。
そして情報として選択した商品の値段を取得しておきます。

「function」の呼び出し、実装

最後に、「function」の呼び出しと実装をしていきます。
構造としては

・なかでは投入額で買えるかどうか
・投入額は商品の値段と同じか
・投入額は商品の値段よりも多いのか

となります。

また「function名」を「buy」とします。

[php]

//投入金額
$PoketMany = 150;

//商品選択
$Drink = ‘ナタデココ’;

//商品一覧
switch ($Drink) {

case '缶コーヒー':
    $vallue = 120;
    break;

case '緑茶':
    $vallue = 150;
    break;

case ‘コーラ’:
$vallue = 150;
break;

case 'ナタデココ':
    $vallue = 120;
    break;

}

buy ($PoketMany, $vallue, $Drink);

function buy ($PoketMany, $vallue, $Drink){
if ($PoketMany >= $vallue){
echo $Drink.’をどうぞ。’;

    if ($PoketMany > $vallue){   
        $sum = $PoketMany - $vallue;
        echo $sum.'円のお釣りです。';
    }
}
else{
    echo 'お金が足りません。';
}

}

[/php]

「function」で指定されている引数を呼び出して順番に入れてあげる必要があります。

今回は変数を指定してあり、さらにfunctionの実行までにそれぞれの変数に代入してあります。

ですので呼び出しの引数の書き方が「function」の引数と同じになります。

最後に「function」の構造ですが

・投入額で買えるかどうか
・投入額は商品の値段と同じか
・投入額は商品の値段よりも多いのか

というように、単純に条件分岐をしています。

そして、それぞれの条件にあったメッセージを表示しています。

では、今回のソースの実行結果です。

FF139B80-FE24-4D5A-A798-EA4487199807

Sublime Text 3 であれば簡単にPHPをビルドすることができます。設定も簡単ですので試してみては?!
http://takujiro.net/2015/09/05/sublime-text-php/

まとめ

今回は自動販売機を例に「switch」と「function」の使い方を見てきました。

単純に「if」を使って分岐したソースを作るのもいいのですが、今回のソースは「switch」の「case」を追加していくだけで、実行できるようになっています。

練習コードですので、がんがん編集してより理解を深めてみてください!

今後も一緒に勉強していきましょう。

byたくじろう(@takujiro_0529)

スポンサーリンク

スポンサーリンク



シェアする

  • このエントリーをはてなブックマークに追加

フォローする