関数 / ch02

引数を受け取る

<!-- LLM_CONTEXT: Lesson 7 / Chapter 2 目的: function f($x) { ... } の形で引数を受け取り、呼び出し時に値を渡せるようにする 扱わない: 戻り値 (ch03) / デフォルト引数 (ch04) / 型宣言 (ch05) / 配列引数 (ch06) / 可変長引数 (扱わない) 読み上げ時間目安: 3 分半〜4 分 -->

引数を受け取る

Lesson 7 / Chapter 2


引数がないと「同じ出力しかできない」

<?php
function greet() {
    echo "こんにちは 太郎\n";
}

greet();
▶ 3v4l で実行
  • これだと「太郎」しか挨拶できない
  • 名前を変えるたびに関数を書き直すのは無駄
  • 引数 で名前を外から受け取れるようにする

function f($x) { ... } で引数を 1 個受け取る

<?php
function greet($name) {
    echo "こんにちは " . $name . "\n";
}

greet("太郎");
greet("花子");
▶ 3v4l で実行

実行結果:

こんにちは 太郎
こんにちは 花子
  • ($name)$name引数
  • 呼び出すとき greet("太郎")"太郎"$name に入る

引数は何個でも並べられる

<?php
function add($a, $b) {
    echo $a + $b . "\n";
}

add(1, 2);  // 3
add(10, 5); // 15
▶ 3v4l で実行
  • カンマで区切って ($a, $b, $c, ...) のように書く
  • 呼び出すときも同じ数だけ値を渡す

引数の名前は関数の中だけで有効

<?php
function greet($name) {
    echo "こんにちは " . $name . "\n";
}

greet("太郎");
echo $name; // ← 関数の外なのでエラー (未定義)
▶ 3v4l で実行
  • 関数の { } の中で受け取った値を使う
  • 外から $name は見えない (スコープ)

このチャプターでできるようになること

function f($x) { ... } で引数 1 個を受け取れる ✅ function f($a, $b) { ... } で複数引数を並べられる ✅ 呼び出し時に渡した値が関数の中で使える ✅ 引数の値を変えて何度でも呼び出せる

→ ドリルへ

演習問題(3問)

  1. ドリル 01 — greet($name) を 3 人分呼ぶ

    starter.php answer.php

  2. ドリル 02 — add($a, $b) で合計を出力

    starter.php answer.php

  3. ドリル 03 — describe($name, $age, $city) を作る

    starter.php answer.php

サイト内で問題文・雛形・解答例を確認できます。実際に手元で解くには教材リポジトリ(nomuraya-dojo/php)を clone してください。