2015年10月27日

PHP はじめての関数

«
»

Pocket

今回から「関数」について書いていきたいと思います。
 
「関数」を勉強することで、「プログラマーの考え方」の一部を理解していただけると思います。

関数とは

PHP 関数
 
関数とは何かを受け取り、何かを返却するもの
というイメージになります。
 

コンビニで宅配便を送る作業が関数

関数 具体例
 
例えば、コンビニで荷物を送るという日常の作業を思い浮かべてみましょう。
伝票を書いて、荷物を持って行くと、店員さんは以下の様な作業をします。
※私が高校生の時のコンビニでの作業を思い出して書いています。
 

1.送り先の郵便番号をレジに入力する
 
2.荷物の大きさをメジャーで測る(縦、横、高さの合計)
 
3.大きさの範囲(縦、横、高さの合計が180cmなら2みたいな)をレジに入力する
 
4.レジに到着予定日付と、金額が表示される
※厳密には違いますが、簡略化しています

 
何が言いたいかと言うと、「郵便番号」「荷物の大きさ」を入力すると、
「到着予定日付」「金額」がレジに表示
されます。
 
お客さんも、店員も、どういう計算でその金額が導き出されたのかは
よく知りません。
(コンビニの本部の人が決めているのでしょう)
それでも、金額は表示されます。これが関数です。
 

関数とは(コンビニでの荷物を送る作業より)
 
「郵便番号」「荷物の大きさ」を入力 = 何かを受け取り
「到着予定日付」「金額」がレジに表示 = 何かを返却する

 
※金額算定の内部のロジックは顧客も店員も知らない

関数のメリット・デメリット

PHP 関数 メリット

 
関数を使うメリットは先のコンビニのケースで言えば、

・店員が金額算定の計算式を知ってる必要がない(レジがやってくれる)
・各店舗ごとに金額算定の計算式を作る必要がない(本部がやってくれてる)

ということで、誰か(この場合は本部)が1回計算式を作ってくれることで
他の人はただ、それを使えばいい(どうなってるか知らなくていい)ということです。
 
逆に、デメリットは

・金額算定の計算式が間違ってると全店舗に影響がでる
・「何でこの金額なの?」と聞かれても、その理由を説明できない

もし、本部の作った計算式が間違ってるとすると、全店舗で
その計算式を使っているため、全店舗に影響が出てきます。
また、ほとんどありませんが、顧客に「どうやって計算してるの?」と聞かれても、
「いや、わからないです。レジがそう言ってるんで」としか答えられません。
 
デメリットのケースがほとんど無いとすると、メリットが大きく、
関数は(この場合は、本部が計算式を作ること)はとても価値があります。
 
このように、本来はみんながそれぞれやらなければならないことを、
誰か1人があらかじめ作っておくことで、他の人は何らかのデータを
渡すだけで、(どうなってるか知らなくても)結果だけをもらうことができます

 
これが関数というものです。

まとめ

・関数とは何かのデータを渡し、結果を受け取るもの
・関数は誰か1人が1回つくれば、他の人はその恩恵に預かれる
・ただし、他の人はそのロジックを知ることが困難

次回以降に、具体的なプログラムを紹介したいと思います。

【関連する記事】

    None Found