御参拝、誠に有難う御座います。住職(管理人)の修羅観音です。
PHPで仏教プログラミング、前回はPHPでよく使われる「配列」について学びました。
今回は、配列を学んだ次に学ぶ事が殆どであろう「連想配列」について、共に学ぼうかと思います。
配列と共に連想配列は、プログラミングを学ぶ上で、必ず学ぶ事になる項目と言えましょう。
配列と連想配列は、とても重要であると共に、結構躓いたり難しいと思う人もいる、と、色々と調べている時に読んだ事が御座います。
そういうわけで、今回と前回取り上げました「配列」と「連想配列」は、Progateを使うなどして、反復練習をして置く事が望ましいと言えましょうかね。
プロエンジニア(ProEngineer)プログラマカレッジで勉強中、またはこれから参加する方は、理解出来るまで講師に質問しまくり、血肉と化すくらいで丁度宜しいかと存じます。
ちなみに、私はRubyのハッシュを学んでいたため、書き方や概念は、割とすんなりと入る事が出来ました。
そんなこんなで、今回はPHPにおいてよく使われる「連想配列」について、共に学ぶ事と致しましょう。
尚、今回は日本仏教における浄土教系の宗派と、宗祖の連想配列プログラムを完成させてみることに致します。
Contents
PHPで仏教プログラミング:仏教サイドの前提知識、宗派と宗祖について
PHPで仏教プログラミング、まずは仏教サイドの前提知識から学ぶ事に致します。今回の仏教サイドの話は、歴史の授業、鎌倉時代の仏教の単元を学んでいる人ならば、復習的な話になりましょうかな。
ただ、これは私個別の体験による体感では御座いますが、歴史の授業、日本史の授業では、さらりと流される程度に思えます。
私が学生時代も、日本史で鎌倉時代を習った時に、法然上人の名前がちらりと出て来たというくらいの記憶しかありませんし。
仏教史として専門的に学ぶところなのでしょうかね。
まあ、そうはいっても、この寺院(ブログ)での、今回の話はPHPでプログラミングというテーマですから、似たような事になってしまうのが、なんとも切ない。
そういうわけで、これから学ぶ人にとっては一歩目となる予習を、名前くらいは聞いたことがあると言う人にとっては復習という程度の話を致します。
まず、日本における浄土系の仏教、お念仏の宗派と言えば、四つの宗派を連想する事が多いのでは無かろうかと存じます。
浄土系の僧侶と言えば、空也上人や源信和尚も数えられるとは思いますが、ここではわかりやすく、四つの宗派とそれぞれの宗祖だけに、お越し頂くと致しましょう。
まず、年代順に紹介していきますと、融通念仏宗の 良忍上人。
良忍上人は、「一人の念仏が、万人の念仏に通じる」という教えの方です。
ここで勘の良い人なら、「融通」とは仏教用語であると、気づかれたやもしれません。
「融通してくれよ」という使い方とは違い、仏教用語の意味は「融けて通じる」という意味です。
私はここに、難とも仏教の縁起観を観じ、感じておるのですがね。
続いて登場して頂くのは、浄土宗の法然上人。
法然上人につきましては、日本史で鎌倉時代の項目にて、名前を知った人も多いかと存じます。
いわずもがな、「ただ一向に念仏すべし」という、お念仏の教えを伝えて下さった宗祖であり、私の家の菩提寺も浄土宗です。
私は浄土宗の勤行を毎日しており、お陰様で毎日、法然上人の教えに出会わせて頂いております、合掌、南無阿弥陀仏。
次は、法然上人のお弟子さんで、真宗・浄土真宗の親鸞聖人。
親鸞聖人は、「歎異抄」や、数々の和讃を残されている方で、法然上人と共に鎌倉時代の単元で習う人も多いかと存じます。
最後は、時宗の一遍上人。
一遍上人は、踊り念仏で知られて居る方であり、私はつい最近、「奈良国立博物館「源信:地獄・極楽への扉」」にて、「一遍聖絵:巻七」を観て参りました。
参照記事:「奈良国立博物館「源信:地獄・極楽への扉」となら仏像館の感想文|待ち時間なく混雑も無かった平日の観覧」
ちなみに、法然上人と親鸞聖人と一遍上人については、概要的な事を学ぶならば、この一冊が宜しいかと存じます。
|
法然上人、親鸞聖人、一遍上人を学ぶ上で、一歩目としてお三方を同時に学び始める事が出来るのは、非常に有り難し。
特に、一遍上人について、まずは概要を本で学びたい人にとっては、非常に宜しい機会となろうかと存じます。
その他、一遍上人について評価が高い本と言えば、こちらでしょうか。
|
PHPで仏教プログラミング:PHPサイドの前提知識「連想配列」
PHPで仏教プログラミング、続いてはPHPサイドの前提知識を学びましょう。今回は「連想配列」について。
「連想配列」とは、配列において0から始まる添字の部分を、文字列を使って命名したものです。
連想配列において、添字の代わりとして使う文字列の部分を「キー」、「キー」に対応した数値や文字列を「値」と呼びます。
具体的な書き方は、配列と同じように連想配列を代入する変数を左辺に用意して、右辺に「array」を用意して、その後の「()」内に、キーと値を書いて行きます。
キーと値は「=>」という、矢印に見える記号で対応させていき、「,」で区切って書いて行きます。
具体的な書き方は、次のような感じです。
連想配列の中身を出力したい場合は、配列と同じ要領で、配列変数の後ろに[]を使って、[]の中にキーを入力します。
そうすると、[]内のキーに対応した値が出力されます。
実際にやってみると、こんな感じです。


PHPにおける連想配列の基本的な事柄は、以上です。
そうそう、Rubyで仏教プログラミングを読んできた下さった人ならば、今回の話から「あれ、これはRubyのハッシュみたいだな」と、思われたかも知れません。
参照記事:「Rubyで仏教プログラミング|ハッシュを使って高僧の名前と年齢を表示・出力する」
参照記事2:「Rubyで仏教プログラミング|配列とハッシュの合わせ技」
実際、ハッシュを日本語訳したら連想配列と言いますし、書き方や概念は同じです。
違いは、arrayを頭にくっつけるか、()か{}で囲むか、という違いくらいです。
Rubyでしっかりと、配列とハッシュを学んで来た人ならば、今回の話はとっつきやすいかと存じます。


連想配列による「宗派と宗祖のプログラム」
それでは、PHPの連想配列を使って、宗派と宗祖のプログラムをこしらえましょう。まず、連想配列の変数を左辺に用意して、連想配列の中身を作っていきます。
今回は「$joudo」という分かりやすい名前の変数にしましょうか。
そして、左辺には、上述したことを踏まえて書いて行きます。
最後に、今回は浄土宗と浄土真宗に対応した値としておわします宗祖に、ご登場願うecho文を書いておきます。
そうすると、次のように書く事が出来ます。


これで、基本的な連想配列による宗派と宗祖のプログラムは、出来上がりました。

連想配列の中身を順番に表示させていく
次に、個別に表示させる方法ではなく、連想配列の中身を、順番に全て表示させていくプログラムも、こしらえてみましょう。順番に表示させていく方法としては、「foreach」という文を使います。
foreachは、Rubyのeachメソッドと似たようなものです。
書き方を一文にすると、次のように表現出来ます。
言語化すると、こんな説明になりますかね。
まず、foreachと書いて、()の中に「配列・連想配列を、as以下の変数として扱う」という内容を書きます。
「as」とは、「~を~として」という意味です。
この場合でしたら、「連想配列を、キーは$key変数として、値は$valueとして扱う」という意味ですね。
そして、これを出力するためのecho文は、次のように書くと、出力できます。
「::」を真ん中に入れているのは、わかりやすく区切っているためです。
これを、今回の宗派と宗祖のプログラムとして書きますと、次のようになります。
文字が詰まっていると見にくいから、今回は1行空白になるようにしております。

出力すると、こんな感じ。

はい、見事に頭から順番に、宗派に対応した宗祖の名前が、出力されました。
合掌、南無阿弥陀仏、礼拝。

配列と連想配列をしっかりと復習して使えるように
今回は、PHPでよく使う連想配列について、基本的な事柄をお伝え致しました。PHPでは、配列や連想配列は、割と早い段階で学ぶ事柄であり、また、どの本を開いても、必ずと言って良い程に、配列と連想配列の項目が御座います。
また、PHP以外にも、Rubyではハッシュという名前ではありますが、配列と連想配列は、外せない事柄として学ぶ事となります。
JavaScriptでも、出て来ますからね。
前回学んだ配列と、今回学んだ連想配列は、Progate等を使って復習し倒して何度も練習し、使えるようにしておくと宜しいかと存じます。
参照記事:「PHPで仏教プログラミング|配列を使って七高僧プログラムを作成する」
参照記事2:「ProEngineer(プロエンジニア)の無料スクールとProgateを同時に進める3つのメリット|使わないのは勿体ない」
参照記事3:「プログラミング独学習にProgate(プロゲート)が捗る|だからこそ感じるスクールの有り難さ」
上述したように、ProEngineer(プロエンジニア)プログラマカレッジで学んでいる人は、講師にしっかりと教えて貰いながら、Progateも併用して練習すると宜しいかと存じます。
私も、ProgateのPHPコースを2周終えて、更に本とポンクソフトという学習サイトにて復習したもので御座います。
プログラミングも勤行も、毎日繰り返す事。
地道、大切な事柄であると、プログラミング学習と勤行をしていると、いつも思う事に御座います。
合掌、礼拝