こんにちは!ProgrRiroです。
どのプログラミング言語を勉強することになっても、ほぼ確実に知識が必須である「関数」について学んでいきましょう。
この記事では、PHPの言語仕様で解説していきたいと思います。
PHPにおける関数の基本的な記述
PHPにおける関数の基本的な記述は、以下の通りです。
1 2 3 | function 関数名 (引数, …) { 処理させたい内容 } |
関数名:任意の文字列を記述
引数:0個以上の変数を記述
処理させたい内容:関数実行時に処理させたい内容を記述
ここまではあくまでも関数の定義なので、これを記述しただけでは実行されません。生徒さんを見ていて、これを理解していない人が多い印象です。注意しましょう。
ここまではあくまでも関数の定義。これを記述しただけでは実行されない。
それでは、関数を呼び出して(=関数を実行して)みましょう。
以下のようにして、関数を呼び出すことができます。
1 | 関数名(引数, …); |
このとき注意しなければならないポイントは、関数名には呼び出したい関数と同じ名前を指定する必要がある点です。
大文字と小文字も区別するので、間違えないように気をつけましょう。
関数名には呼び出したい関数と同じ名前を指定する必要がある。また、大文字と小文字も区別する。
引数は、呼び出したい関数に記述されている引数の数と同じ数の引数を指定する必要があります。
1 2 3 4 5 6 7 | /* 関数の定義 */ function sum($n1, $n2) { return $n1 + $n2; } /* 関数の呼び出し */ sum(5, 8); |
上記のように、sum関数の定義の引数の数と、関数の呼び出しの引数の数がどちらも「2つ」で一致していることが分かります。
これが一致していないとエラーになってしまうので気を付けましょう。
関数の定義の引数の数と、関数の呼び出しの引数の数を一致させる必要がある。
以下にもうひとつ、簡単な例を示します。
3つの値を足し合わせた結果を返してくれるsum関数です
1 2 3 4 5 6 7 | /* 関数の定義 */ function sum($n1, $n2, $n3) { return $n1 + $n2 + $n3; } /* 関数の呼び出し(echoによって値を出力) */ echo sum(1, 2, 3); |
上記の結果、画面には「6」と表示されます。
何故かというと、return によって関数の呼び出し元(今回の場合はsum(1, 2, 3))に、sum関数の結果(今回の場合は 1+2+3)を返しているからです。
Return によって戻ってきた値のことを「戻り値」といいます。
まとめ
関数の処理の流れを以下にまとめます。
関数の処理の流れ
- sum(1, 2, 3)でsum関数が呼び出される
- $n1に1, $n2に2, $n3に3が代入(厳密にはコピー)される
- return $n1 + $n2 + $n3; によって、sum関数の結果(今回の場合は 6)がsum関数の呼び出し元に返される
- sum(1, 2, 3)が、戻り値である 6 に置き換わる
- echo によって画面に表示される
関数の処理の流れは、PHPに限らずどの言語でも同じです。
関数の基本をしっかりと理解して、他の言語にも応用していきましょう。
最後までお読みいただき、ありがとうございました。