本文へスキップ
BecomeCoder

PHPコース · 第4章 関数 · レッスン14

戻り値とデフォルト値

ブラウザで完結

導入

関数には、処理した結果を返してもらうこともできます。「税込価格を計算して返す」ように、値を受け取って別の値を返す関数は、部品として何度も使い回せます。

説明

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 です。

実際に動かしてみよう

下のエディタにPHPを書いて「実行」を押すと、ブラウザ内で動く本物のPHP(php-wasm)で出力が表示されます。コードは必ず <?php で書き始めます。本文の例をそのまま試したり、書き換えたりしてみましょう(初回だけPHPの読み込みに少し時間がかかります)。

PHP — ブラウザ内で実行

ブラウザ内で動く本物のPHP(php-wasm / PHP 8.4)を読み込みます(初回のみ読み込みに少し時間がかかります)。
スクロールして表示された時点でも自動で読み込まれます。