PHP入門

While構文

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
while構文は、コンピュータに繰り返し同じような処理を行ってもらうことができる構文です。これを覚えると、普段手作業で行っているような単調な処理をコンピュータに自動的に行わせることができます。ここでは、まずはwhile構文を覚えていきましょう。
講師:
15:22

字幕

続いては while 構文ということで繰り返しと言われる構文を紹介していきたいと思います。かなりプログラム的な動きの1つで自動的にコンピューターが何度も何度も処理を繰り返してくれるという非常に便利な処理になりますので是非使い方をマスターしていきましょう。ではまずここでは HTML を1つ作っていきたいと思います。MAMP のアップロードフォルダーMAMP フォルダーの htdocs に1つフォルダーを作成します。ここではlesson03-01 ということでファイルを作っていきます。テンプレートのフォルダーからHTML や画像群をコピーしてそして、この index.htmlというファイルを今回はまず index.php に拡張子を変更してこのファイルを編集していきます。そして、タイトルの部分には「while 構文」としてこちらにも「while 構文」という風に書きましてこの content の中に書いていきます。まず、よくあるケースとしましてフォーム等を作る時にaction で method を get などとします。そして、例えばlabel 要素で「年齢」としましょう。そしてここにドロップダウンを追加したいわけなんですけどここに「年齢」の入力エリアを設けたいんですけどこれを例えば、input type テキストエリアですね。 name を例えば age としましてsize を例えば 10 ぐらいにします。そして、フォームを閉じます。本当はここに submit ボタンが必要なんですが今回はちょっと submit ボタンは省略しましょう。これでファイルを保存しましてWeb ブラウザーからlocalhost:8888/lesson03-01 ということですね。年齢のテキストエリアができました。ここに年齢を入力するんですけどこの様にテキストエリアの場合数字を自由に入力できるのは良い所ですがユーザーによってはこれは例えば全角で入れてしまったりもしくは、十八というような形で日本語で入れてしまったりという様な様々な方法で入力されてしまうことが考えられます。これを正しく、例えば数字で 18半角数字で 18 と入れてほしいということであれば、様々なチェック機構を設けなければならなかったりですとか例えば注意書きとして「半角英数字で入力して下さい。」という様なメッセージを入れなければいけなかったりですとか何かと大変になります。そこで1つの方法としましてこの年齢の選択肢をドロップダウンにするという方法があります。例えば select name = "age"とします。 そして、option value を例えば 10 としまして10 としますね。同じく option value で 11この様にどんどん書き続けていきましてこちらで再度読み込んでみましょう。この様にしますと 10、11 という風に選択するだけになりますので半角かどうかですとか数字かどうかもしくはマイナスの値をいれられてしまうとか200 以上、300 以上というような年齢としてありえないものを入れられてしまうという様な不具合がなくなります。これ、続けて11・12・13・14 と続けていけばどんどんどんどん選択肢を増やすことができるんですが例えば、10 歳から 70 歳まで選択できる選択肢を作りたいという場合にはこの後続けて 60 個ですね、この選択肢を書き続けていかなければなりません。もちろん手作業で、この作業を行うこともできるんですけどちょっと面倒臭いので、そこで PHP の力を借りることにしましょう。PHP の場合、あるプログラムを書くことで同じような処理を何回も何回も繰り返し行うことができます。まずはプログラムを書いてみますので後でその作りをご紹介していきます。まずここに $ と書きます。 age としまして 10 とします。while($age を 70 としましょう。そして、この部分option value と書いてあるんですけれど一行だけ残して残りを消します。そしてこうして $age を$age + 1 とします。そして、endwhile と書きます。かなりプログラムとして複雑になってきましたけれど1つ1つ理解していけばそれほど難しくありませんのでまずは動きだけ確認していきましょう。これでファイルを再読み込みしてみます。そうしますと、10 という選択肢がずっと続いています。実はこれが 60 個あります。これは、PHP が今 60 回繰り返しプログラムの処理を行ってくださいというのを書きましたので60 回繰り返し、この 10 という選択肢を画面に表示しているわけです。10 という選択肢が 60 個でても仕方がありませんので10 の次は 11その次は 12 、13、14 という形で選択肢のこの値が変わっていくというのが実用的です。それはどのように行うのかというとこうなります。print($age) です。そして、この中もprint($age) とします。これで改めて画面を表示すると見てみましょう。 この様に 10・11・12・13・14という形でずっとカウントアップがされていきまして最終的に 70 まで行きます。この様に while 構文というのを使ってあげると例えば 10 から 70 まで繰り返し処理を行いたい、ですとか1 から 100 まで、1 から 1000 まで1 から 10000 までという様などんなに大きな数字であってもプログラムが自動的に何回でも処理を行ってくれます。選択肢をたくさん増やしたい場合ですとか同じようなものを何度も何度も書く場合などに非常に便利なプログラムなので是非覚えておきましょう。では、その文法を詳しく説明していきたいと思います。まず、ここで $age = 10 としているのは前のレッスンで紹介した変数というものを使っています。変数というのは $ から始めて好きな名前を書けるというのは既にご紹介しました。ここでは、年齢を司る変数ということでage という名前を付けています。この変数には最初に10 という数字を記憶させています。これによって、この age という変数で10 という数字をいつでも取り出せるようになりました。次に少し変わった処理が書かれていますが一度これは無視して頂いて23 行目を見ていきましょう。 ここに print($age) とあります。これは、前のレッスンで紹介した通り$age というこの変数先程記憶した内容を print のパラメーターとして指定しています。こうすることで、この $age は10 が表示されますので、画面には print で 10 と画面に表示されます。そして、同じく option のvalue 属性にも同じprint($age) と書かれていますのでこれによって、この option には value が 10そして表示される内容も 10 という選択肢が1つ追加されます。実際にこちらのファイルのソースを見ていきましょう。HTML の内容を見ていきますとこの様にoption value が 10そして、その内容も10という風に書かれています。では続けてプログラムを見ていきましょう。21 行目はもう1つ無視して頂いて次に 25 行目を見ていきます。25 行目は、また $age という変数を使っていますが= の後が少し変わっています。$age + 1 という内容を$age に対して記録するという内容になっています。これは、どのようなプログラムなのかと言いますとまず、ここの $age というのが数値の 10 に置き換わります。 そして、それと 1 を加えるというのが計算として起こります。つまり、ここでは計算結果としては11 になります。そして、ここで $age = としているのは先程の、この構文と一緒で$age という変数にこの計算結果を記録して下さい、記憶して下さいというプログラムなのでここでは、11 という数字が$age には入ります。変数名が先程と同じ場合変数は上書きと言いまして先程まで 10 が記録されていた、この変数は11 に上書きされます。これは僕らがワープロソフトなどで何か文章を作っている時に上書き保存をするのと同じ現象です。こうして $age は 11 になるわけなんですけどここで、この endwhileそして、先程無視した whileこの2つの構文を見ていきましょう。while というのとこの endwhile というのはセットで必ず使われます。この while の最後の所には実は ; ではなくて: が書かれているのがお分かりいただけると思います。前のレッスンで PHP のプログラムは行の終わりに必ず ; を付けますと紹介しました。ですが、この while の場合最後は ; ではなくて: になっています。 これは、この while がここで終わりではないということを示していてこの while という文は、実はここにある endwhile の後の ; でこの一文が終わります。そして、この whileそして endwhile のセットで何を表しているのかと言いますとwhile と endwhile の間を何度も何度も繰り返し行ってくださいというプログラムの命令になります。ここでage = age + 1 という計算を行った後endwhile があるのでこのプログラムは 21 行目まで戻されます。そして、この時 $age の内容が70 と比べてこの記号は「以下」という意味です。$age が 70 以下の場合にwhile の中をあらためて実行して下さいという内容になります。$age は今 11 ですので70 よりは小さいことが分かります。そのため、もう一度この option が表示されるんですね。その時、ここで $age は11 に変わっていますのでvalue の内容そしてその内容は 11 になります。HTML のソースを見ていきますと10 の次に 11 という選択肢がありました。こちらを見ていきますと、同じくvalue が 11、そしてその内容が 11という HTML が表示されています。 これが while が繰り返し行った結果ということになります。続いて 25 行目を見ていきますと$age は $age + 1 ということで、今度は 11 に 1 を加えた 12 が計算結果になりそれが $age に改めて記録されます。そして、endwhile になるのでまた 21 行目に戻される。そして、$age の 12 は70 よりも小さいのでまた option が出力されそこには 12 と書かれます。これがずっと繰り返されて次は 12+1 で 1313 が出力されて 1414 が出力されるそして、20・30・40・50・60 と出力されていきます。そして、$age が 70 になった時この while は 70 は 70 以下ということで70 も含まれますので最後に option がもう一度出力されます。そして、選択肢の一番最後ここで 70 が出力されています。HTML ソースで見ていっても、ここに 70 が出力されていることがわかります。さて、次です。ここが重要なんですけれど$age が 70 です。+1 をすると 71 に変わります。そして endwhile で21 行目に戻されるんですが$age の内容である 71 はここで指定されている 70 よりも大きくなってしまいました。 すると、while という構文はその中身を無視して次の行まで一気にジャンプします。そのため、 70 というのが出力された後 select の閉じタグが出力される。つまり、70 までの選択肢が出来上がって残りの HTML が出力されるという動きになるわけです。while という構文は他にも様々な条件を指定することができて様々な複雑な動きを作ることができます。次のレッスンでももう少し詳しくお話ししていきますのでまず、ここでは while の基本的な構文としてこの様に変数をセットしてその変数がどこまで続くかそして、その変数をこの様に足したり引いたりしながらどんどんどんどん繰り返し出力していくという方法を覚えておくと良いでしょう。

PHP入門

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

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

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

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

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