関連記事
引数は「大根」、戻り値は「大根おろし」
この記事の動画版はこちら(画像クリックでYoutubeに飛びます)
今回は、プログラミングの「引数(ひきすう)」「戻り値(もどりち)」について、初心者の方にも分かりやすくご説明したいと思います。
プログラミングをやったことがないと、なかなか聞きなれない言葉ですよね?
しかし、これらはプログラミングでは日常的に出てくる言葉なんです。
これを機に「引数」と「戻り値」について理解しておきましょう!
引数と戻り値
引数とは 「材料」
戻り値とは「結果」
※引数を「パラメータ」、戻り値を「返り値(かえりち)」ということもあります。
まずは「関数」を知ろう
引数と戻り値を知るために、まず「関数」について知っておきましょう。
関数、引数、戻り値は3つセットで覚えましょう。
関数とは、簡単に言うと
機能を部品化して再利用出来るようにしたものです。
プログラミングをしていると、同じような処理が複数の箇所で必要になることがあります。
このとき、複数箇所に同じ処理を書いても良いんですが、何度も書くのは大変なので、その処理を「機能部品」として共通化し、色々な場所から再利用出来るようにしてしまおう!
というのが関数です。
関数のことを英語では「ファンクション(=機能)」と言います。
関数として作成しておけば、処理を書くのは1回だけで済みます。
あとは必要な時に呼び出すだけで、一連の処理を実行してくれるのでとても便利です。
関数は、PHPにもともと用意されているものもありますし、自分で独自に作ることも出来ます。
※関数については、以下の記事で詳しく解説していますのであわせてご覧ください。
引数は「大根」、戻り値は「大根おろし」
関数は以下のように動作します。
①関数に「材料」を渡すと
↓
②一連の「処理」を行い
↓
③処理の「結果」を返してくれる。
身近なものに例えるとこんなイメージです。
例)電動おろし器
①大根(材料)を入れると
↓
②自動すりおろし(処理)を行い
↓
③大根おろしになって出てくる(結果)
大根おろしを作るたびに、毎回おろし金を準備して、手作業ですりおろして、といった作業は必要ありません。自動すりおろし器に材料を入れれば、完成品が出てきます。
プログラミングでは、この「材料」のことを、「引数(ひきすう)」
そして「結果」のことを、「戻り値(もどりち)」と言います。
3つの言葉の関係はこのようなイメージです。
①材料(大根)=「引数」
②機能(電動おろし器)=「関数」
③結果(大根おろし)=「戻り値」
この3つはセットで覚えましょう!
実際の使用例
実際の関数は以下のように作成します。
function ①関数名(②関数の処理に必要な材料){ ③行う処理; return ④返す結果;
}
①関数名:好きな名前を付けられます。
②引数:関数に渡す材料です。
③処理:関数が行ってくれる一連の処理です。
④戻り値:処理した結果、関数が返してくれる内容です。
例えば、
材料として「数字1」と「数字2」という2つの数字を渡すと、それらを合算する処理を行い、結果を返す。
という関数の場合は以下のように作成します。(関数の名前は「calc(計算)」にしました)
function calc ($num1, $num2) { // ↓ 引数1と引数2を足して$totalに入れる。 $total = $num1 + $num2; // ↓ $totalを戻り値として返す。 return $total; }
この例では「$num1」と「$num2」が「引数」、$total(合算結果)が「戻り値」です。
作った関数は、以下のようにして使うことが出来ます。
$kekka = calc(1, 2);
calcという関数に1、2という引数(材料)を与え、結果を$kekkaという変数に受け取っています。
なお、上記のように引数は複数指定も可能です(逆に、全く無しでもOK)
戻り値は「1つのみ」指定可能です(全く無しでもOK)
現場の知識
PHPには、標準で多くの関数が用意されており、(標準関数といいます)これらを上手く活用することで素早く、確実なプログラミングを行うことが出来ます。
実際の現場でも標準関数を活用することは基本で、標準関数に無いものを独自に作ったりします。
独自関数は一度作ったものを別のサービスを作る際に再利用するため、関数は作るほど自分の「開発資産」となり、どんどん開発速度が上がります。
PHPの標準関数は「関数リファレンス」というページにまとまっています。
PHP関数リファレンス
https://www.php.net/manual/ja/funcref.php
このページで、例えば「number_format」という関数のページを見てみましょう。
number_formatは「数字を渡すとカンマ付きにして返してくれる」PHPの標準関数です。
ページを見ると、まず「①関数の名前」が書いてあり、次に「②この関数が行ってくれる処理の内容」が書いてあります。
さらに下の方を見ていくと、「③引数の一覧」、「④戻り値の内容」が記載されていますね。
このように、関数には「引数」と「戻り値」があらかじめ決められていますので、関数を使う際には「どんな引数が必要で」「どんな戻り値が返ってくるのか」ということをしっかり理解しておく必要があります。
とはいえ、情報は上記のような「リファレンス」に記載されていますので、「関数」「引数」「戻り値」がそれぞれ何を意味するのか、という用語が分かっていればOKです。
必要になったときに、必要な機能部品(関数)を調べられる力があれば良いのです。
まとめ
①材料=「引数」
②機能=「関数」
③結果=「戻り値」
これらをセットで覚えておきましょう!
なお、引数や戻り値が無い場合については、以下の記事で解説しています。