御参拝、誠に有難う御座います。住職(管理人)の修羅観音です。
PHPで仏教プログラミング、ここ最近の2回は、for文とwhile文を使っての繰り返し処理をやってきました。
今回は、PHPを学ぶ上でとても重要な単元であり、よく使われる話で御座います。
今回学びますのは、Rubyで仏教プログラミングでも学んだ事がある「配列」についてです。
配列は、PHPやRubyに限らず、プログラミング言語を学んでいくと、必ずと言って良い程に学ぶ事となる概念でありましょう。
そういうわけで、PHPで仏教プログラミングにおいても、いよいよ配列を学ぶ段階へ来た、というわけです。
また、データベースと連動したウェブ開発をする場合には、連想配列と共に外せない重要な概念でもあります。
今回の話をしっかり学んで頂いて、配列を使いこなせるようになる一助であったり、一歩目となりましたら、嬉しゅう御座います。
尚、今回は配列を使って、真宗・浄土真宗の勤行時に読まれる「正信念佛偈」に御座います、七高僧に登場して頂くプログラムを作ることと致しましょう。
「七高僧配列プログラム」、配列を使った七高僧プログラムです。
Contents
PHPで仏教プログラミング:仏教サイドの前提知識「正信念佛偈」の七高僧について復習
PHPで仏教プログラミング、いつものように、仏教サイドの前提知識を学んで置く事と致しましょう。とは申しましても、この寺院(ブログ)において、Rubyで仏教プログラミングの配列を学んだ時に、七高僧プログラムを作ったことが御座いましたね。
Rubyで仏教プログラミングの時は、「while文とfor文の違い」と「配列」のところで、学んだ事柄で御座います。
参照記事:「Rubyで仏教プログラミング|while文とfor文の違いを正信偈七高僧配列を使って学習する」
参照記事2:「Rubyで仏教プログラミング|配列を使って高僧を表示・出力していく」
七高僧についての説明は、重複する内容にはなりましょうが、復習して置く事に致しましょう。
今回は、七高僧の一人目と二人目について、学べる一歩目の良書も紹介しておきたいという思いもありますからね。
七高僧とは、「正信念佛偈(正信偈(しょうしんげ))」という、真宗・浄土真宗でよく読まれる偈文に登場される、七人の高僧の事です。
七高僧の具体的な名前は、次の通りです。
:龍樹
:天親
:曇鸞
:道綽
:善導
:源信
:法然
法然上人については、歴史の授業で習った人もいらっしゃるでしょうし、源信和尚については、お隠れになってから丁度1000年経過した2017年には、色々な特集が組まれていることから、知っている人もいらっしゃるかと存じます。
私も赴いた「奈良国立博物館「源信:地獄・極楽への扉」」もありましたからね。
参照記事:「奈良国立博物館「源信:地獄・極楽への扉」となら仏像館の感想文|待ち時間なく混雑も無かった平日の観覧」
ここで、七高僧に関わる話でありまして、歴史の勉強や仏教について学べる良書を一冊紹介しておきます。
哲学や仏教について、それなりに学んでいる人でしたら、龍樹菩薩と天親菩薩について、ご存じではありませんかな。
私も、上述の奈良国立博物館にて、龍樹菩薩の像に合掌、礼拝して参りました。
このお二方、龍樹菩薩と天親菩薩は、天竺(てんじく)の高僧です。
天竺(てんじく)とは、インドの旧名であり(土地は完全一致するわけではないそうですが)、西遊記で三蔵法師ご一行が目指し達でありますね。
最近でしたら、三蔵法師ご一行が、ジープで天竺を目指す作品もあるそうな。
ジープで天竺はさておき。
龍樹菩薩と天親菩薩について、一冊で概要を学ぶ事が出来る良書が御座います。
それは、釈徹宗さんの「ブッダの伝導者たち」という本です。
|
この本には、ブッダについての話から始まり、続いて龍樹菩薩(ナーガルージュナ)と天親菩薩(世親・ヴァスバンドゥ)について学べます。
仏教史、大乗仏教と唯識を学ぶ上では、外せない高僧のお二方について、一冊で概要を学ぶ事が出来るのは、非常に有り難し。
個々について深く学ぶためには、別の本や文献に触れる必要はあるでしょうが、一歩目としては良書であると、私は頂いております。
今回の七高僧プログラムで、龍受菩薩と天親菩薩(世親)を知った事をきっかけに、学んで観たいという人は、釈徹宗さんの「ブッダの伝導者たち」を、一度手に取られると宜しいかと存じます。
ちなみに私は、電子書籍版で読みました。
電子書籍版は、こちらです。
|
PHPで仏教プログラミング:PHPサイドの前提知識
続いて、PHPサイドの前提知識を、共に学びましょう。今回の主題は「配列」ですから、PHPの配列について学びます。
PHPにおける配列の作り方は、変数を用意して、その変数に配列を代入する、という形で書きます。
例えば、1から5までの数字を入れた配列を作ってみましょうか。
まず、配列を代入するための変数を用意します。
ここでは「$i」という変数を左辺に用意しておきます。
次に、右辺に配列を用意するわけですが、配列を作る場合「array」という文字を書き、次に「()」を用いて、「()」の間に入れたい文字列や数字を入れていきます。
今回は「1から5まで」でしたね。
そうすると、次のように書く事で、「1から5の配列が代入された変数」を、用意する事が出来ます。
中身は「,(コンマ)」で区切って書いて行きます。
文字列の場合は、「””」で文字列を囲って、「()」の中に入れていきます。
例えば、こんな感じ。
尚、Rubyの配列の箇所でも学んだように、配列の先頭は「0番目」です。
ゆえに、人サイドが先頭の値、1番目を取り出したい場合は、プログラミングサイドには0番目を指定することになります。
これを踏まえて、用意した配列から中身を取り出し出力したい場合、echoを使って出力する事が出来ます。
例えば、1から5までの配列を用意した後、先頭の値を表示したい場合は、次のように書きます。
こうすると、配列の中にある0番目の値、つまり先頭の値を取り出すことが出来ます。
「echo $i[1];」とすると、二つ目の値を取り出せます。
PHPにおける配列の基本的な書き方は、以上です。
PHPで配列を用意する場合「array」を使うわけですが、「array」とは「配列」という意味です、そのまんまでわかりやすいですね。
Rubyで配列を用意する場合と比較して、配列の概念を復習して頂ければ、より配列についての理解が深まったり、知識が定着しやすくなりましょう。


PHPで仏教プログラミング:配列を使った七高僧プログラム
それでは、いよいよPHPで仏教プログラミング、配列を使って七高僧プログラムを書いていくと致しましょう。まず、配列を代入する変数を用意するわけですが、今回はわかりやすく「$kousou」という変数にしましょうか。
次に、右辺に配列を作っていきます。
配列には、七高僧の名前を、「正信念仏偈」で読まれる順番に左から順番に入れていきます。
そうなると、次のように書く事になります。
「$kousou = array(“龍樹”,”天親”,”曇鸞”,”道綽”,”善導”,”源信”,”法然”);」
これで、配列が用意出来ました。
配列が用意できたのはできましたが、これでは配列が用意出来ただけです。
折角ですから、高僧に登場して頂く出力文も書いてみましょう。
今回は、高僧の先頭と最後の方に、ご登場願います。
そうなると、配列の先頭は0番目ですから、「echo $kousou[0];」とかけば、先頭の高僧に登場して頂けます。
先頭の高僧は、龍樹菩薩でしたね。
そして、高僧配列の最後にいらっしゃるのは法然上人で、ご登場頂くとなると、次のように書きます。
「echo $kousou[6];」
七高僧プログラムは、最初から七人いらっしゃると言う事で、最後は7番目であることがわかっています。
そして0番目から数えて7番目は、PHPサイドでは6番目ですから、「$kousou[6];」となります。
後は、見やすいように改行「echo “<br>”;」を、高僧に登場して頂く出力文の間に入れておきます。
以上を踏まえて、出力まで入れてプログラムを書くと、次のようになります。

このプログラムを実行すると、こんな感じになります。

ご自身のローカル環境で実践される場合、試しに出力する際の数字を色々と変えて観て、動きを確かめて頂ければとと存じます。

配列を使う、出力する際の注意点
ここで、PHPで配列を使う際、特に出力をする際の注意点を一つ。もっともこれは、PHPの配列に限らず、Rubyの配列においても言える事なのですがね。
配列は「0番目」から始まります。
人の社会においては、「1番目」は「1番目」と認識して生活しているために、「1番目の要素を取り出す」と説明されると、「1番目」を入力してしまい易いものです。
つまり、PHPの配列においては、配列の1番目の要素を取り出したいからといって、「echo 変数[1];」と書いてしまう、ということです。
しかし、「echo 変数[1];」と書くと、配列の2番目の要素が取り出されてしまいます。
配列の先頭は0番目。
このことは注意しておきたいものです。
もしもデータベースを活用して、ユーザーとの紐付けを配列や連想配列を使って行う場合、ここが狂うと全てがズレてしまいますからね。
自戒も込めて、気をつけたいことに御座います。

PHPで仏教プログラミング:次は連想配列を学びます
今回のPHPで仏教プログラミングは、配列を使って七高僧プログラムを作りました。配列を学んだ後、次に学ぶべき事柄であり、尚且つ外せないのが「連想配列」です。
Rubyでいうところの「ハッシュ」に該当する箇所です。
Rubyで「ハッシュ」を学んでいる人は、概念がすでに把握出来ていらっしゃるでしょうから、取っつきやすい箇所でありましょう。
そういうわけで、次のPHPで仏教プログラミングは「連想配列」について学ぶ回とする予定で御座います。
尚、今回のPHPというプログラミング言語を、体系的に、しかも教わりながら学べる環境が無料で整えられている、いかしたサービスが御座います。
参照記事:「PHP独学習開始|プロエンジニア(ProEngineer)プログラマカレッジなら無料で実践的に学べる」
参照記事2:「ProEngineer(プロエンジニア)は無料なのに終活支援付きでプログラミングを学べるとは凄い!」
参照記事3:「ProEngineer(プロエンジニア)の無料スクールとProgateを同時に進める3つのメリット|使わないのは勿体ない」
参照記事4:「ProEngineer(プロエンジニア)が第二新卒と20代既卒フリーターに必見な理由|就職支援を使い倒すべし」
参照記事5:「ProEngineer(プロエンジニア)のプログラマカレッジ情報総集編|無料プログラミングスクールは本当に有り難い」

いやはや、私も年齢制限がなければ、ProEngineer(プロエンジニア)プログラマカレッジで学んでみた方ものを。
と、いつも言うておりますな、これは執着にもなってしまいかねませんから、自重しないと。
とにもかくにも、配列と連想配列は、重要な箇所に御座います。
今回の話と、次に学びます連想配列と共に、何度も復習・反復練習による実践を繰り返して、学ぶ事が肝要であります。
ProEngineer(プロエンジニア)プログラマカレッジで学べる人は、そこで骨身にしみるほどに練習するのもよい習得方法です。
また、私の様にProgateで複数の周回によって学び続けるのも、宜しい事でありましょう。
今回の話が、そのきっかけとなったり、一助となりましたら、大変嬉しゅう御座います。
そうそう、きっかけと言えば、上述した釈徹宗さんの「ブッダの伝導者たち」ですが、龍樹菩薩と天親菩薩の後には、蓮如上人と鈴木正三禅師について書かれております。
仏教の歴史を学ぶと共に、「このような高僧がいらっしゃったんだ」という、教養と共に、生きる指針となる智慧も学べる一冊であると、私は頂いております。
今回のPHPで仏教プログラミングの御縁で、仏縁結ばれたら、嬉しゅう御座います。
よそさんのプログラミング学習的なサイトと、この寺院(ブログ)の違いは、仏教を学ぶきっかけにもなるところにあり、と、勝手に思うております私に御座います。
合掌、礼拝