導入
関数には、処理した結果を返してもらうこともできます。「税込価格を計算して返す」ように、値を受け取って別の値を返す関数は、部品として何度も使い回せます。
説明
return を使うと、関数は値を返します。呼び出した側は、その結果を変数に受け取ったり、そのまま echo したりできます。
<?php
function addTax($price) {
return $price * 1.1; // 税込価格を返す
}
$a = addTax(1000);
echo "税込: {$a}円\n"; // 1100円
echo "税込: " . addTax(3000) . "円\n"; // 3300円
return に到達すると、関数はそこで終わって値を返します。echo と違い、return は「画面に出す」のではなく「呼び出し元に値を渡す」点に注意しましょう。
引数にはデフォルト値を設定できます。呼び出し時に省略すると、その値が使われます。
<?php
function greet($name, $greeting = "こんにちは") {
return "{$name}さん、{$greeting}\n";
}
echo greet("田中"); // 田中さん、こんにちは
echo greet("鈴木", "おはよう"); // 鈴木さん、おはよう
$greeting = "こんにちは" がデフォルト値です。省略した1つ目の呼び出しでは、既定のあいさつが使われます。
やってみよう
addTax に渡す金額を変えて、返ってくる税込価格を確かめましょう。greet の第2引数を付けたり省いたりして、デフォルト値の働きを見てみてください。
演習
長方形の面積を返す関数 area($width, $height) を作り、return で 幅 × 高さ を返してください。area(4, 5) を呼んで結果を表示しましょう。
ヒント1を見る
function area($width, $height) { return $width * $height; }
ヒント2を見る
echo area(4, 5), "\n";。答えは 20 です。