概要
関数は 「処理にまとまった名前を付けて、何度でも呼び出せるようにする仕組み」 だ。挨拶や合計計算のように、同じコードを 2 回以上書きそうになったら、ほぼ間違いなく関数にまとめるサインになる。同じ処理を 1 か所に寄せておけば、後で文言や仕様が変わったときも 1 か所だけ直せばよく、コピペで散らばったコードを追いかける必要がなくなる。
PHP では function 名前() { ... } の形で関数を定義し、名前() の形で呼び出す。定義する位置はファイル内のどこでもよく、呼び出しより後ろに書いてもエラーにならない (関数はファイル読み込み時にまとめて登録される)。このチャプターでは引数も戻り値も持たない「もっとも素朴な関数」を題材に、定義と呼び出しのリズムを体に入れる。
この章でつまずきやすいのは 「関数を定義しただけで呼び出していない」 ケース。function greet() { ... } を書いただけでは何も実行されず、必ず greet(); のように呼び出して初めて中身が走る。function キーワードと { } ブロックの形を、まず確実に書けるところを目標にする。
学習目標
function 名前() { ... }で関数を定義できる名前()で関数を呼び出せる- 同じ処理を何度も書かずに済むメリットを実感する
ドリル
| no | 内容 |
|---|---|
| 01 | greet() を定義して 3 回呼ぶ |
| 02 | 2 つの関数を定義して順に呼ぶ |
📝 演習: ドリル 01 — greet 関数を 3 回呼ぶ
問題
greet という名前の関数を定義してください。
中身は こんにちは を 1 行出力するだけです。
定義した後、greet() を 3 回呼んでください。
期待される出力:
こんにちは
こんにちは
こんにちはヒント
function greet() { ... }で定義{ }の中にecho "こんにちは\n";- 定義した下で
greet();を 3 行書く
📝 演習: ドリル 02 — 2 つの関数を順に呼ぶ
問題
次の 2 つの関数を定義してください。
morning()…おはようを出力evening()…こんばんはを出力
定義した後、morning() → evening() の順に呼んでください。
期待される出力:
おはよう
こんばんはヒント
function morning() { ... }とfunction evening() { ... }の 2 つを書く- 定義の下で
morning();evening();の順に呼び出す