Menu
Coddy logo textTech

Function Parameters

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
function greet($name) {
    echo "Hello, $name!\n";
}

greet("Alice");
?>

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

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

introduce("Alice", 25);
?>

複数のパラメータを持つ関数を呼び出す際には、順序が重要です—最初の引数は最初のパラメータに、2番目の引数は2番目のパラメータに、といった具合です。

自分で試してみよう

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

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


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

?>
quiz icon腕試し

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

基礎のすべてのレッスン