【PHP基礎】関数とは
関数とは
今回は関数について説明していきます。
今まで「関数」という言葉が出てくることはあったり、使い方の紹介はありましたが、今回で詳しく説明していきます。
※functionと呼ぶ場合もあります。(別言語だとメソッドということもあります。)
まず、用語を交えて整理すると以下のようなものになります。
- 与えられた値(引数)に基づいて、
- 何らかの処理を行い、
- 結果(戻り値)を返すもの
もう少し具体的に言うと、複雑な処理を別にまとめておくことでソースを整理することができるようになります。
その関数を作ったり、あるいは使ったりする際に、上記のような説明に対する理解が必要となってきます。
また、引数や戻り値という用語もでてきましたが、細かい説明はあとにするとして、まずは定義を確認しておきましょう。
引数 | 関数に与える値のことで、値によって処理や結果が変わる。 引数が無いこともある。 |
---|---|
戻り値 | 関数を実行した結果、呼び出し元に返される値の事。 戻り値が無いこともある。 |
■関数の定義と呼び出し
関数を理解する上で重要なのが、定義と呼び出しの区別です。
ザックリ言ってしまうと、関数を作るのが定義で、作った関数を使用するのが呼び出しです。
プログラムに慣れている人にとっては当たり前のことですが、初心者の人がつまづきやすい点です。
▼function_sample.php
<?php // sum関数を定義 function sum($x, $y) { return $x + $y; } echo sum(1, 2); // 定義したsum関数に、引数1と2を渡して呼び出し echo '<br>'; echo sum(4, 10); // 定義したsum関数に、引数4と10を渡して呼び出し ?>
3~5行目が関数定義で、関数名をsumとしています。
また7、9行目のように、その関数名を指定することで、定義した関数を呼び出すことができます。
■関数定義の構文
関数を定義する場合は以下のような構文になります。
function 関数名(引数) { 処理; return 戻り値; }
関数名は識別子の規則に従っていれば自由につけることができます。
■引数とは
構文でも引数という言葉がでてきましたが、いよいよ確認していきましょう。
引数とは、一言で言ってしまうと入力値です。
上記のfunction_sample.phpで定義したsum関数は、2つの値を合計値を求めてくれる関数です。
関数内部の処理で$xと$yを合計しています。
つまり、処理を行う上で2つの値が必要になってくるわけです。
値がなかったら合計を求めることができません。
そこで、処理をするために必要な値を呼び出し時に入力してもらいます。
それがsum関数を呼び出している7、9行目です。
sum(1, 2);
と呼び出せば
function sum($x, $y) { return $x + $y; }
の$xに1が代入され、$yには2が代入されます。
このようにして、定義側と呼び出し側で引数の受け渡しを行います。
■戻り値とは
戻り値を一言で表すと結果です。
function_sample.phpでは3と14が出力されています。
2つの引数が渡させると内部で合計されます。
その合計値を呼び出し元に返します。
それが戻り値です。
「1と2を入力すると3が返ってきました」あるいは「4と10を入力すると14が返ってきました」と書くとわかりやすいですかね。
呼び出し元が戻り値に置き換わるイメージです。
echo sum(1, 2);
↓
echo 3;
■公式ドキュメント
上記に述べたのは主に、関数を自作する場合の話でした。(ユーザー定義関数)
しかし、PHPの公式で便利な関数がたくさん用意されています。
https://www.php.net/manual/ja/indexes.functions.php
次回からは公式で用意されている便利な関数を紹介していきます!