引数・戻り値はこうやって理解する
この記事の動画版はこちら(画像クリックでYoutubeに飛びます)
引数・戻り値とは
先に結論から言うと、引数とは「材料」、戻り値とは「結果」のことです。
ちなみに、引数のことを「パラメータ」、戻り値のことを「返り値」と呼ぶこともあります。
まずは「関数」を知ろう
引数と戻り値を知るために、まずは「関数」というものを知っておく必要があります。
関数、引数、戻り値、これら3つはセットで覚えておくようにしましょう。
関数とは、プログラムの中の特定の処理を抜き出して「部品化」したものです。
プログラミングをしていると、同じような処理が複数の箇所で必要になることが度々あります。
この複数の箇所に、全く同じ処理を書いていっても良いんですが、何度も同じことを書くのは面倒ですし、効率が悪いので、そういった共通処理はあらかじめ「機能部品」として共通化しておき
必要な時に再利用出来るようにしてしまおう。
これが「関数」です。
関数として作成しておけば、処理を書くのは1度だけで済みます。
後は必要な時にその関数を呼び出すだけで、一連の処理を行ってくれます。
つまり関数とは、呼び出すだけで面倒な処理を行ってくれる便利な機械のようなものです。
関数は、自分で独自に作ることも出来ますし、PHPなどのプログラミング言語には、あらかじめ多くの便利な関数が備わっています。
ちなみに、関数のことを英語では「ファンクション(=機能)」と言います。
関数の呼び出し方
さて、関数は基本的にこのような流れで呼び出します。
①関数に「材料」を渡すと
②一連の「処理」を行い
③処理の「結果」を返してくれる。
身近なものに例えるとこんなイメージです。
例えば、大根を自動ですりおろしてくれる「電動おろし器」があったとします。
①電動おろし器に「材料」である「大根」を入れると
②自動的にすりおろし処理を行い
③すりおろした結果として「大根おろし」が出てくる
大根おろしを作るたびに、毎回おろし金を準備して、手作業ですりおろして、といった作業は必要ありません。
自動すりおろし器に材料を入れれば、完成品が出てきます。
プログラミングでは、この「材料」のことを、「引数(ひきすう)」
そして「結果」のことを、「戻り値(もどりち)」と言います。
3つの言葉の関係は、このようなイメージです。
①材料(この場合は「大根」)=「引数」
②機能(この場合は「電動おろし器」)=「関数」
③結果(この場合は「大根おろし」)=「戻り値」
この3つはセットで覚えましょう!
実際の使用例
PHPでは、実際の関数はこのように作成します。
functionというキーワードの後に、好きな名前で関数名を付けます。
処理内容が分かりやすい名前が良いですね。
続く括弧の中には、材料である「引数」を指定します。
複数必要な場合は、カンマ区切りで指定出来ます。
そして、この波括弧のブロックの中に、行いたい一連の「処理」を書いていきます。
処理の最後に、呼び出し元に返す結果「戻り値」をreturnというキーワードで指定します。
これで関数が作成出来ます。
例えば、簡単な例として「数字1」と「数字2」という2つの材料を渡すと、それらを足し算して、その結果を返す。という関数を作るとしたら、こんな感じになります。
関数の名前は「計算」と言う意味のCalculatorから「calc」にしました。
引数として、$num1と$num2という2つの数字を受け取り、処理として、これらを足し算して、戻り値として、足し算した結果を呼び出し元に返す。
このような流れですね。
この関数は、このようにして呼び出すことが出来ます。
こうすると、「3」という結果が返ってきますし
こうすると、「9」という結果が返ってきます。
calcという関数に5、4という引数(材料)を与え、9という戻り値(結果)を受け取っている訳ですね。
この3つの言葉の関係が、なんとなくお分かり頂けましたでしょうか?
現場の知識
PHPには、「標準関数」と呼ばれる便利な関数群があらかじめ多く用意されており、これらを上手く活用することでプログラミングを効率的に行うことが出来るようになります。
実際の現場でも標準関数を活用することは基本で、標準関数に無いものは独自に作ることもあります。
こういった関数を多く作るほど自分の「開発資産」が増えていき、開発速度がどんどん上がっていきます。
PHPの標準関数は「関数リファレンス」というページにまとまっています。
このページで、例えば「number_format」という関数のページを見てみましょう。
number_formatは「数字を渡すとカンマ付きにして返してくれる」PHPの標準関数です。
ページを見ると、まず「①関数の名前」が書いてあり、次に「②この関数が行ってくれる処理の内容」が書いてあります。
さらに下の方を見ていくと、「③引数の一覧」、「④戻り値の内容」が記載されていますね。
このように、関数には「引数」と「戻り値」があらかじめ決められていますので、関数を使う際には「どんな引数が必要で」「どんな戻り値が返ってくるのか」ということをしっかり理解して使う必要があります。
とはいえ、関数の使用方法は、こういったリファレンスページを見れば分かりますので、全てを頭に記憶しておく必要はなく、必要になった時に、必要な関数を調べていけばOKです。
その際に、この動画で説明した「関数」「引数」「戻り値」がそれぞれ何を意味するのか、という意味が分かっていれば大丈夫です。
まとめ
・「関数」とは、機能を部品化したもの
・「引数」とは、関数に渡す材料
・「戻り値」とは、関数から返ってくる処理結果
この3つをセットで覚えておきましょう!