PHPで仏教プログラミング|for文を使って十念プログラムを作ってみる

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



PHPで仏教プログラミングも、お伝えしてきた回数が増えて参りました。

前回まで、条件分岐について学んで来ましたね。

今回は、Rubyで仏教プログラミングでも取り扱った、「for文」を使った繰り返し処理を、友に学んで観る回に致します。



for文と言えば、Rubyでも割と序盤の内に学ぶ繰り返し処理の事柄でありまして、PHPでも、割と初期に学ぶ繰り返し処理の事柄に御座います。

以前、この寺院(ブログ)のRubyで仏教プログラミングにおけるfor文の回では、十念プログラムを作っておりました。



今回は、PHPのfor文にて南無阿弥陀仏を10回称える「十念」を表現してみることと致します。



尚、Rubyでは、for文を使って十念プログラムを作るとすれば、どのようにコードを書いていけば良いのか、という事も考えながら読んで実践して頂くと、より理解が深まるかと存じます。



PHPで仏教プログラミング:仏教サイドの前提知識は、十念の復習

それでは、いつものように、PHPで仏教プログラミングを進めるに辺り、仏教サイドの前提知識から参りましょうか。

と、言いましても、Rubyで仏教プログラミング・十念プログラムのところで、一度「十念」について解説しておりますから、今回は復習という様相となりますかな。



一度、こちらを読んで頂いてから、また戻ってきて頂ければと存じます。



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



Rubyで仏教プログラミングで「十念」を表現した時は、timesメソッドとif文を使っており、今更ながら、「Rubyでも十念はfor文にしておけばよかったかな。」と、考えておる次第です。



今回、PHPで仏教プログラミング、for文を使って「十念」を表現するに辺り、「十念」についておさらいしておきます。



「十念(じゅうねん)」とは、浄土宗において、「南無阿弥陀仏」を十回お唱え申し上げる行為様式です。



あなたの家の宗派が浄土宗で、法事などでお坊さん(おっさん、と言う呼び方があります)が「同称十念(どうしょうじゅうねん)」と、声に出された事を聞いたという人も、いらっしゃるかと存じます。

「同称十念」とは、一同が南無阿弥陀仏を十回称える、という意味です。



浄土宗の勤行・お勤めをしておりますと、この「十念」は、何度も称える事になります。

例えば、「懺悔偈」の後に十念を称えたり、という具合です。

浄土宗の勤行次第をよくご存じの方ならば、どのタイミングで十念をお唱え申し上げるのか、勝手知ったるところでありましょう。



もしも、「念仏してみて下さい」と、ふいに振った時に、振られた人が「ナムアミダブナムアミダブ・・・」と、十回称え始めたら、恐らくその人は家が浄土宗であったり、浄土宗のお念仏に携わっている方であると思われます。



とにもかくにも、「十念」とは、「南無阿弥陀仏を十回お唱え申し上げる、お念仏の行為様式」です。

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

続いて、PHPサイドの前提知識として、今回活用致します「for文」について、予習致します。



「for文」は、PHPに限らず、上で申し上げたように、Rubyでも使いますし、JavascriptやJava等でも使う「繰り返し処理」の文です。



Rubyとは、書き方がなかなかに違っている部分があるのですが、Javascriptとは、よく似ております。

恐らく、すでにJavascriptを学んだ事があるよ、という方ならば、今回の話は、復習に近い形となるのではありませんかな。



PHPのfor文の書き方は、数学の公式のような書き方をすると、以下の通りです。


<?php
for (変数の初期化;繰り返し・ループの条件;変数の更新){
繰り返す処理
}
?>

言語化すると、上のような書き方になります。



実際に、具体的な例をお伝え致しますと。



まず、「変数の初期化」の部分は、「$i = 1」のように、初期値を設定します。

次に、繰り返す条件、ループの条件を入力します。

例えば、初期値から100回繰り返したい場合には、「$i <= 100」と書きます。

こうすると、「$i」という変数が、100よりも小さいか、100と等しくなるまで、処理を繰り返すという条件を付与することが出来ます。



そして、変数を更新する処理を、()の最後に書きます。

今回の例では、「$i」という変数が1ずつ加算される、という更新の仕方にします。

そうなると、「$i++」と書けば、1ずつ加算されるという更新の仕方を付与することが出来ます。

「$i++」は「$i = $i +1」と同じ意味で、変数「$i」に、1ずつ加算されるということです。
尚、「変数の初期化」と「繰り返し・ループの条件」と「変数の更新」の間は、「;(セミコロン)」を使って隔てます。



後は、{}の中に繰り返したい処理を書いて実行すれば、繰り返したい処理が条件に合致している間、繰り返されます。

ここではわかりやすく、変数の値を出力・表示させるという処理を繰り返す事にしましょうか。



そうなると、コードは次のようになります。




これを実行すると、1から100までの数字が、表示されます。



「十念」と、PHPの「for文」の前提知識は、以上です。



PHPで仏教プログラミング:for文を使って十念プログラムを完成させる

それではいよいよ、PHPで仏教プログラミング、for文を使って「十念プログラム」を、作っていくと致しましょう。



まず、「南無阿弥陀仏」を表示させるために、変数を用意して、文字列「南無阿弥陀仏」を代入します。

そこは、「$namu = “南無阿弥陀仏”;」とします。



続いて、for文を書いていきます。

for文にて、加算されていく変数を用意する必要がありますから、ここでは「$i = 1」と、初期値1が代入された変数を用意します。



次に条件式ですが、十念は南無阿弥陀仏を十回称えるわけですから、条件式は10回処理を繰り返す条件式を書く事になります。

そうなると、条件式は「$i<=10」となります。



その次は、変数「$i」が、1ずつ加算する形で更新させるために、「$i++」を付け加えます。



後は、繰り返し処理の部分ですね。

繰り返し処理の部分では、「南無阿弥陀仏」が10回表示される処理を書きます。

PHPにおける、表示・出力には「echo」を使います。



参照記事:「PHPで仏教プログラミング|echoと変数を使って南無阿弥陀仏を表示する」



そして、今回は「南無阿弥陀仏」という文字列が代入された変数「$namu」を使いましょう。

また、今何回目なのかが目視出来るように、「$i」も使って、回数も表示出来るようにします。

それと、改行して見やすく出来るようにしておきたいですね。



以上を踏まえると、「 echo “{$i}:{$namu}”;」と書けば、今何回目の南無阿弥陀仏かがわかり、改行もされて見やすい表示になります。



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






これを実行すると、このように表示されます。




はい、見事に、南無阿弥陀仏が十回称えられました。



合掌、同称十念。

Javascriptの場合

今回使った「for文」ですが、上でお伝えしました通り、「for文」はRubyでも、Javascript等、他のプログラミング言語でも、よく眼にする事柄に御座います。



PHPにおけるfor文の書き方は、Javascriptのfor文の書き方と比較してみると、とてもよく似ております。

細かいところ、変数の書き方などは違いがあるものの、そのまま流用できるようなものと言えましょう。



例えば、今回のPHPで仏教プログラミングにおいて、PHPサイドの前提知識でやってみせた、「数字の1から100までを表示させる」というプログラムを作る場合、Javascriptのfor文は、こんな感じです。


for(var i = 1; i < 100; ++i){
console.log(i);
}



このコードを、例えばPaiza.IO等の実行環境にて実行して頂ければ、1から100まで繰り返し表示される事が確認出来るかと存じます。



このように、PHPでfor文をきちんと理解した上で使えるようになっていれば、違う言語を学ぶ際に、「あ、これはPHPでやった事と殆ど一緒だ」と、理解するまでの時間も短縮されましょう。

PHPの繰り返し処理は他にもある

今回のPHPで仏教プログラミングは、for文を使った繰り返し処理を学びました。



この寺院(ブログ)にてお伝えしている「Rubyで仏教プログラミング」でも、for文について解説しております。



参照記事:「Rubyで仏教プログラミング|while文とfor文の違いを正信偈七高僧配列を使って学習する」



Rubyの時は、配列を繰り返し表示させるという事でしたから、今回の話とは、直接的な比較はしにくいかもしれません。

ただ、Rubyにおけるfor文の基本的な書き方は、抑えられるかと存じます。

これを機会に、「Rubyではどうかくのだろう?」という事も学ぶと、RubyとPHPの両方を学ぶよい機会となりましょう。



また、Rubyの時は「while文」も一緒に学んでおりますが、PHPでも「while文」を使います。

PHPにおける「while文」についても、今後学ぶと致しましょう。



尚、こういう事柄は、現在はプロエンジニア(ProEngineer)プログラマカレッジで、無料で教わりながら、関連する仕事に就く道も用意されています。



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

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

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



「修羅観音みたいなど素人の説明はわかりにくい!」とか「無料で教わりながらの方が良い!」という方は、プロエンジニア(ProEngineer)プログラマカレッジの門を叩かれるのが、宜しいかと存じます。

ほんと、むしろ私が学びたいくらいです。



私の場合は年齢制限があって、プロエンジニア(ProEngineer)プログラマカレッジを活用出来ませんから、コツコツと、じっくりどっしりと、独学習して、この寺院(ブログ)に備忘録的かつ復習的に綴って、習得していく次第で御座います。



合掌、礼拝

スポンサーリンク