PHP入門

switch構文

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
elseif構文で、比べる変数が常に同じ場合には少し効率の良い「switch」構文を使うことができます。書き方が特殊なので、無理に使う必要はありませんが、まずは使い方を覚えておきましょう。
講師:
08:49

字幕

続いては switch 構文という構文をご紹介します。この switch 構文は、前のレッスンで紹介したelseif 構文の応用例ですけどこの部分は必ずしも使わなければいけない構文ではありません。もし今回理解できなくてもそれほど問題はありませんのでまずはこんな構文があるということだけ覚えておけば充分です。elseif 構文というのは今画面に表示しますけどこれは前のレッスンでやったスクリプトです。age という年齢を入力するテキストボックスから送信された値が 10 未満の場合はこう20 以下の場合はこう、というような形で様々な条件を組み合わせるというのがelseif という構文でした。switch 構文は、この elseif に非常に似た性格を持っています。例えばですけど、ある何か旅行の予約サイトなどでA コース、B コース、C コースがあったとしてA コースの場合はこう、B コースの場合はこうそして C コースの場合はこう、というように複数の条件が重なる場合というのを考えてみます。では実際にファイルを作りながら学習を進めていきましょう。まずは、MAMP のアップロードフォルダーMAMP の htdocs に今回はlessson03-09 というフォルダー名を付けます。 そして、ここにテンプレートファイルをコピーしていきましょう。index.html は index.php というファイル名に変更してこれを DreamWeaver で編集していきます。タイトルに「switch 構文」等と入力してこちらにも「switch 構文」と入力します。ではこちらの content の中にスクリプトを記述していきます。フォームと連携してコースを選ぶというようなスクリプトにしてもいいですけどここではちょっと省略をしてcourse という変数に直接A というのを記憶させておきたいと思います。これで A というコースが選ばれたということにしてまず例えば if 構文を使ってみましょう。$course が A である場合ということですね。ここでは、「コース A が選ばれました」ということですね。例えばここで elseif ということで同じくコースが今度は B の場合では例えば B コースは売り切れていたとします。「B コースは売り切れです」ということで、メッセージを変えましょう。更に elseif というのは実は何個でも重ねることができます。なので、elseif としましてcourse == CC の場合、例えば特別料金ということにしましょう。 「C コースは特別料金です」ということでメッセージをそれぞれ変化していきます。最後に else ということで「コースをお選びください」といったようなかなり条件が重なったスクリプトを作ってみました。if ということでコースが A であれば、このメッセージB であれば、このメッセージそして Cであれば、このメッセージという様な形で記述をして行きます。一応、動きの方も確認しておきます。まず MAMP を起動してApache が起動していることを確認して頂きましたらURL としてlocalhost:8888/lesson03-09 になります。こちら、表示をすると「コース A が選ばれました」という風に書かれています。今この course という変数にa が記憶されているので一番最初の if 構文の条件が満たされた状態になって21行目のこちらのメッセージが表示されるわけです。では、コースを B にした場合どうなるかと言いますとこちらは「B コースは売り切れです」となります。C の場合は「C コースは特別料金です」となりまして例えば、コースを何も選ばなかった時には最後の「コースをお選びください」になるというわけです。 この elseif 構文全く間違いはないんですけれど実は少し効率が悪い書き方になっています。$course というこちらの変数が何度も何度も出てきてしまっているんですけどこの様に1つの変数に対して複数の条件がある場合にもう少し効率のいい書き方としてswitch 構文というのがあります。では、このスクリプトを switch 構文を使って書き直してみたいと思います。switch 構文というのはまず初めに switch と書きます。そして、その中に変数の名前を書いていきます。そして、この中括弧という括弧を使うんですけど次に case と書きます。そして A と書きます。: を置くんですが、ここでこのコース A が選ばれた時の処理というのを書きます。そして、その後 break と書くんですね。続いて case と書いた後今度は B と書いてここには B コースが選ばれた時の処理というのを書きます。その後、また break を書きます。この繰り返しで、例えばコース Cこれが C が選ばれた時ということですね。そしてまた break が続きます。そして、最後else と書かれていた部分はswitch 構文の場合default というものになります。 そして、同じく「コースをお選びください」と表示した後break をして、最後は endif ではなくてこちらは中括弧の閉じ } になります。何故なら switch 構文が始まった時ここに { というのを書いていましたのでそれと対応する } をここに書くことでswitch 構文が、ここからここまでですよというのを示しているというわけです。ではこちらで同じく動きを確認してみましょう。ブラウザーを再読み込みします。今コースは何も選ばれていませんのでこのままいくと「コースをお選びください」と出ます。では今度はコースに A を選んだという状態にしましょう。これで Enter をすると「コース A が選ばれました」になります。では同じく B を選びます。「B コースは売り切れです。」C コースを選ぶと「C コースは特別料金です」という形ででていきました。elseif 構文と全く同じ動きを実現することができていますがこの course という変数は一か所にしか書かれていないので非常に効率のいい見通しの良いスクリプトになっています。ただ、switch 構文というのはかなり書き方が特殊です。まずは始まりが、この { になりましてその後 case と書いた後その $course という変数が何なのかというのを書きます。 つまり、条件がこの部分とこの部分に分かれているというわけです。そして、その後この : というのが続きまして処理の内容が続いた後break というのを書かなければいけません。そして、; を打つことでこの case はここからここまでが一文であるということを示しています。その繰り返しで case 'B':その後、処理があって break:、これで一文case 'C': 処理が合ってbreak で ; 、これで一文そして最後 default の後処理が合って break; で一文という形でこのcase というのが何回も続いていきます。最後、} で閉じることで全体の switch という構文が出来上がるというわけです。この様に1つの変数の中に様々な値が入る可能性があってその、それぞれの時で処理が変わる場合にはelseif 構文を使っても勿論構わないんですけどこの switch 構文というのを使えば少し効率良く書くことができるのでスクリプトに慣れてきたら switch 構文を使えるようにすると、良いでしょう。

PHP入門

このコースでは動きのあるWebサイトでショッピング、友人との写真を共有、キーワードによる情報検索など便利な仕組みを作るための技術であるPHPについて解説します。これまでプログラミングに触れたことがない方でも、ちょっとしたプログラムを自分で作ることができるようになります。

4時間56分 (29 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月29日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。