PHPで仏教プログラミング|if文による条件分岐とrandで高僧の名前をランダムに表示

御参拝、誠に有難う御座います。住職(管理人)の修羅観音です。



ProgateでPHPを一通り学び終えて、現在は「30時間アカデミックPHP入門」を使い、PHPの学習・実践を続けております。

一通り学び終えて、条件分岐であったり繰り返し処理については、Rubyとも共通しているところがあり、序盤はわりとすんなりと進められている感じです。

「30時間アカデミックPHP入門」の中盤から後半は、実際に作品を完成させる段階に入るから、そこで躓く事もありましょうがね。

PHPで仏教プログラミング、初回は「echo」を使って、南無阿弥陀仏を表示させるというプログラムを書きました。



今回から、そこからいよいよプログラミングしているなあ、と感じられてくる回になるかと存じます。



今回は、Rubyでもやったif文を、PHPというプログラミング言語にて、書いてみる事に致します。

RubyやPHP以外のプログラミング言語でも、if文はよく使う事になりましょう。

ゆえに、ここできっちりと学んでおけば、他のプログラミング言語を学ぶ際に、さくさくと学べる一助となります。

実際に私も、RubyからPHP学習へ移った時に、体感しましたからね。



それでは、PHPで仏教プログラミング、if文の学習を始めましょう。



PHPで仏教プログラミング:仏教サイドの前提知識は高僧の名前

PHPで仏教プログラミング、今回はif文を使って、高僧の名前、仏教に関係している人の名前を表示する、というプログラムを書いていきます。



Rubyで仏教プログラミングでやってきたように、まずは仏教サイドの前提知識からおさえておきましょう。

今回は、if文を使って、数字によって表示される高僧が変わる、というプログラムを作ります。



そこで、登場して頂く高僧は、そうですね、有名な高僧に登場して頂きましょうか。

まず、仏教と言うことですから、我々がお釈迦様と呼ぶ「ゴータマ・ブッダ」に登場して頂きましょう。

ここでは「ブッダ」とします。



次に、私は毎日浄土宗の勤行をしているという事もあり、浄土仏教の高僧は外せません。

ここから、「法然上人、親鸞聖人、蓮如上人」にも、登場して頂くとします。



また、禅仏教からもお二人、登場して頂くとしましょうか。

ここでは、「道元禅師」「良寛さん」に、登場して頂きます。



私、良寛和尚については、何かこう、「良寛さん」という印象がありましてね。

もしかしたら、蓮如上人を「蓮如さん」と親しまれている方々と、似たような情緒があるのやも知れません。



まとめますと。

今回は、「ブッダ、法然上人、親鸞聖人、蓮如上人、道元禅師、良寛さん」の6人に登場して頂くと致します。

PHPで仏教プログラミング:PHPサイドの前提知識

次は、PHPサイドの前提知識に移ります。



PHPでは、Rubyでもやったように、条件分岐処理を書く時に、if文を書いていくことになります。

Rubyでの条件分岐処理の書き方、if文の書き方については、こちらで確認出来ます。



参照記事:「Rubyで仏教プログラミング|timesとifで「十念」をプログラミングしてみた」



条件分岐処理の概念や、大まかな書き方は、Rubyとそれほど違ってはおらず、Rubyをはじめとして、他のプログラミング言語に触れてきた人ならば、すぐに理解出来るかと存じます。



PHPでif文を書く時は、まずは「<?PHP ~ ?>」を用意します。



そしてその中にif文を書いていくわけですが、書き方は次の画像の通りになります。



「<?PHP ~ ?>」を用意して、その中に変数とif文を使っている事が、おわかり頂けるでしょうか。

ここではわかりやすい例として、「$iという変数に代入されている値によって、表示される文字列が変わる」というプログラムを書いていく事にします。



まず、変数$iを用意して、その変数に代入されている値によって、表示される文字列が変わるif文を書いていきます。



次にif文ですが、if文は「if」から始まり、「if」の次に「()」を書き、「()」の中に条件式を書きます。

この辺りは、Rubyと似ており、「()」があるかないか、という違いがあるくらいです。

「()」の「$i >= 8」は「8以上」という意味です。



もしもこれを「8と等しい」としたい場合は、「$i == 8」と、「=(イコール)」を2つ記入します。



そして、「{}」を用意して、その中に条件に合致すれば実行される処理を書いていきます。

ここでは、$iという変数の値が8以上であれば、「8以上」と表示する処理を書きます。

ここまで書いたら、if文を閉じます。



ここで、後ろの波括弧「}」を書き忘れることがよくある事として注意されておりますから、かならず「}」を忘れずに書く事が肝要です。

私は、書き忘れをしない工夫として、最初に「{}」を書いておき、その中に実行処理を書いていくようにしております。

この辺り、エディタによっては書き忘れが無いような機能を備えておりまして、便利なエディタも御座います。(Visual Studio Codeの有り難い機能です。)



次に、複数の条件を書きたい場合は、「else if」を使います。

Rubyでは「elsif」と、省略したような書き方でしたが、PHPでは「else if」という書き方です。

「else if」の後も、「if」の後と同じ書き方をしますから、ここは迷うことはないものかと存じます。



そして、「if」または「else if」のどの条件にも当てはまらない条件分岐を書く場合は、「else」を書きます。

「else」は、条件式を書く必要がなく、出力処理・実行処理の部分だけを書けばOK。

今回の例の場合でしたら、「$i」は10が代入されておりますから、「8以上」と表示されます。



動きをもう少し感じ取りたい方は、実際にご自身で書かれる時に、変数に代入されている数値を、色々と変えて観るなりして、試して見ると宜しかろうと存じます。


PHPで仏教プログラミング:if文とrand関数を使って高僧をランダムに表示

それでは、いよいよPHPで仏教プログラミング、if文の本番と参りましょう。



仏教サイドの前提知識でお伝えしました通り、6人の高僧に登場して頂くプログラムを書いていきます。

もうちょっとプログラムらしいと言いますか、プログラミングしている感じを出すために、今回は「rand関数」を用います。

「rand」という関数は、乱数を生成する関数であり、if文を使ったサイコロプログラムを作る時に、よく用いられます。

ここでは、変数にランダムに生成された数値を代入するという使い方をします。



まず、PHPをこれから書きますよ、という始まりと終わりを用意して、その中に変数を用意して、if文を書いていきます。

用意する変数は「$i」にして、「$i = rand(1,6);」と書く事により、変数$iに1から6までの数値が、ランダムに代入されるようにします。

後は、「if」「else if」「else」を書いて、それぞれに条件式を書いて、プログラムを調えていきます。



完成した形が、こちらです。






内容を解説していきますと。



まず、初っぱなの「if」文にて、「変数$iが1と等しければ、ブッダと表示される」という条件分岐と実行処理を書いています。

「if ($i == 1)」は、「変数$iが1と等しい場合」という事ですね。

そして「{}」の中で「echo “ブッダ”;」と書く事で、条件式に合致していた場合に、「ブッダ」と表示さます。



後は、「else if」以下で、数字を変えていくことで、複数の条件分岐を作る事となります。



最後は、「else」にしておりますが、「else if ($i == 6)」と書いて、その中に実行処理を書いても、「良寛さん」と表示されるプログラムを作ることが出来ます。

出来るだけ書き込む事を少なくしたいために、今回は「else」と、簡単に書いております。

コードは、出来るだけ短く、そして書く内容物も少なくした方が、スマートだと私は考えておりますからね。



これを実行して、ブラウザで表示されたら、更新ボタンを押して頂くと、表示される高僧の名前が変わっていくことが、確認出来るかと存じます。

実験として、もっと条件分岐を増やしてみたり、ご自身でサイコロを作ってみられるのも、宜しかろうと思います。

PHPで仏教プログラミング、if以外にも条件分岐の書き方がある

PHPで仏教プログラミング、今回は、if文とrand関数を使って、PHPでの条件分岐の書き方を学びました。



条件分岐は、どの言語でも避けては通れない事柄ですから、この寺院(ブログ)では、RubyとPHPにて条件分岐を学ぶ事が出来ます。

Rubyではこう書いていたけれども、PHPではどのように書くのだろう、という視点を持ってやってみると、違いを楽しみながら、復習にもなり得ましょう。



ちなみに、JavascriptとPHPでしたら、条件分岐の書き方はほぼ同じです。

違うのは、変数の書き方が、Javascriptなら「var」を、PHPなら「$」を、変数の頭にくっつける、というくらいです。

「なんだ、一緒じゃないか。」と、PHPを学んでからJavascriptを学び始めると、ロケットスタートを切れるような感じがして、勉強が捗るかも知れませんね。



尚、PHPを効率良く学ぶ際には、無料で学べるプロエンジニア(ProEngineer)プログラマカレッジが、非常に有り難し。







参照記事:「ProEngineer(プロエンジニア)は無料なのに終活支援付きでプログラミングを学べるとは凄い!」

参照記事2:「ProEngineer(プロエンジニア)のプログラマカレッジ情報総集編|無料プログラミングスクールは本当に有り難い」

参照記事3:「PHP独学習開始|プロエンジニア(ProEngineer)プログラマカレッジなら無料で実践的に学べる」



PHPを学ぶ際、また、こうしてこの寺院(ブログ)にて、PHPで仏教プログラミングを書く時、いつもプロエンジニア(ProEngineer)プログラマカレッジで学べたらなあ、と、思う事に御座います。

年齢制限さえ無ければ、と。



もっとも、これは私の煩悩ゆえに、煩悩に毒されぬように、PHPの独学習にて精進するところであります。

それでも、エラーが出る度に「プロエンジニア(ProEngineer)プログラマカレッジならさくっとエラーの原因と解決方法を、共に学べるのに」と、やはり思うてしまう煩悩具足なる私。



煩悩ばかり独白しても、暗くなりますから、次の一歩を考えるとします。



次の一歩では、PHPはif文以外にも、条件分岐・条件判定文が御座います。

「switch文」というのですが、次回はswitch文を共に学ぶ事と致しましょう。



合掌、礼拝

スポンサーリンク