関数パラメータ
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番目のパラメーターに割り当てられ、その後も同様です。
チャレンジ
簡単入力を3行読み取ります:
- 人の名前(例:
Alice) - 都市名(例:
Paris) - 年(例:
2020)
describePersonという名前の関数を作成します。この関数は3つのパラメーター:$name、$city、$yearを受け取ります。関数は次の形式でメッセージを出力します:
[name] moved to [city] in [year].入力値を使って関数を呼び出します。
例1:
入力がAlice、Paris、2020の場合、出力は次のようになります:
Alice moved to Paris in 2020.例2:
入力がBob、Tokyo、2018の場合、出力は次のようになります:
Bob moved to Tokyo in 2018.例3:
入力がEmma、New York、2015の場合、出力は次のようになります:
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) を受け取り、必要な形式でメッセージを出力する
// 入力値で関数を呼び出す
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: PHPオンラインコンパイラ