Menu
Coddy logo textTech

関数パラメータ

CoddyのPHPジャーニー「基礎」セクションの一部。レッスン 62/71。

前のレッスンの sayHello 関数は、いつも同じことをします。しかし、さまざまな人にあいさつしたい場合はどうでしょうか?パラメーターを使うと、関数にデータを渡すことができ、柔軟で動的な関数にできます。

パラメーターとは、関数を宣言するときに括弧内に記述する変数です。関数を呼び出すときは、これらのパラメーターに割り当てられる値(引数と呼ばれます)を指定します。

<?php
function greet($name) {
    echo "Hello, $name!\n";
}

greet("Alice");
greet("Bob");
?>

これは次のように出力されます:

Hello, Alice!
Hello, Bob!

パラメーター $name はプレースホルダーのように機能します。greet() を呼び出すたびに、渡した引数が関数内のそのプレースホルダーを置き換えます。

関数は、コンマで区切られた複数のパラメータを受け取ることができます。

<?php
function introduce($name, $age) {
    echo "$name is $age years old.\n";
}

introduce("Alice", 25);
introduce("Bob", 30);
?>

これは次のように出力されます:

Alice is 25 years old.
Bob is 30 years old.

複数のパラメーターを持つ関数を呼び出すときは、順序が重要です。最初の引数は最初のパラメーターに、2番目の引数は2番目のパラメーターに割り当てられ、その後も同様です。

challenge icon

チャレンジ

簡単

入力を3行読み取ります:

  1. 人の名前(例:Alice
  2. 都市名(例:Paris
  3. 年(例:2020

describePersonという名前の関数を作成します。この関数は3つのパラメーター:$name$city$yearを受け取ります。関数は次の形式でメッセージを出力します:

[name] moved to [city] in [year].

入力値を使って関数を呼び出します。

例1:

入力がAliceParis2020の場合、出力は次のようになります:

Alice moved to Paris in 2020.

例2:

入力がBobTokyo2018の場合、出力は次のようになります:

Bob moved to Tokyo in 2018.

例3:

入力がEmmaNew York2015の場合、出力は次のようになります:

Emma moved to New York in 2015.

自分で試してみよう

<?php
// 入力を読み取る
$name = trim(fgets(STDIN));
$city = trim(fgets(STDIN));
$year = trim(fgets(STDIN));

// TODO: describePerson という3つのパラメータを受け取る関数を作成する
// ($name, $city, $year) を受け取り、必要な形式でメッセージを出力する


// 入力値で関数を呼び出す

?>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: PHPオンラインコンパイラ