概要

関数は 引数で値を受け取り、return で値を返すecho は「画面にそのまま出す」のに対して、return は「呼び出し元に値を渡して、その後どう使うかは呼び出し側に任せる」という違いがある。return で値を返せるようになると、関数の結果を変数に代入したり、別の関数の引数に渡したり、計算式の中に埋め込んだりできるようになり、関数を 部品 として組み立てる発想が生まれる。

PHP の return は数値・文字列・真偽値・配列・オブジェクトなど何でも返せる。return が実行されるとそこで関数は終了し、それより後ろの行は実行されない。return を 1 度も書かない関数は暗黙的に null を返すので、「値を返したつもりが何も返っていない」状態にハマったら return の付け忘れをまず疑う。

このチャプターでつまずきやすいのは echoreturn の混同。例えば function square($x) { echo $x * $x; } と書くと結果は画面に出るが、$y = square(3); としたとき $ynull のままになる。「画面に出すこと」と「値を返すこと」を別物として区別する感覚を、3 つのドリルで身に付ける。

学習目標

ドリル

no 内容
01 square($x) で二乗を返す
02 full_name($a, $b) で氏名を連結して返す
03 is_even($n) で真偽を返す

演習: ドリル 01 — square($x) で二乗を返す

問題

引数 $x を受け取り、$x * $xreturn で返す関数 square を定義してください。

定義した後、square(3)square(4)square(5) の戻り値を 1 行ずつ出力してください。

期待される出力:

9
16
25

ヒント

演習: ドリル 02 — full_name($first, $last) を連結して返す

問題

引数 $first$last を受け取り、半角スペース 1 個でつないだ文字列を return で返す関数 full_name を定義してください。

定義した後、戻り値を変数で受け取り、echo で 2 件分出力してください。

期待される出力:

太郎 山田
花子 鈴木

ヒント

演習: ドリル 03 — is_even($n) で真偽を返す

問題

引数 $n を受け取り、偶数なら true、奇数なら falsereturn で返す関数 is_even を定義してください。

定義した後、15 の各数値について次の形式で 1 行ずつ出力してください。

<n>: true   ← 偶数のとき
<n>: false  ← 奇数のとき

期待される出力:

1: false
2: true
3: false
4: true
5: false

ヒント

この章を AI に聞く

  1. 「ch03 — return で戻り値を返す」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch03 — return で戻り値を返す」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch03 — return で戻り値を返す」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

🎉 受講お疲れさまでした!

ch03 — return で戻り値を返す」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE