Menu
Coddy logo textTech

パラメータの型宣言

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

PHP はゆるく型付けされた言語で、変数は任意の型のデータを保持できます。この柔軟性は便利ですが、関数が誤った型の引数を受け取ると予期しないバグが発生する可能性があります。型宣言により、パラメータが受け入れるべき型を正確に指定できます。

型宣言を追加するには、型名をパラメータの前に配置します:

<?php
function double(int $number) {
    return $number * 2;
}

echo double(5);
?>

これは 10 を出力します。$number の前の int は、この関数が整数を期待していることを PHP に伝えます。誰かが "hello" のような文字列を渡すと、PHP は後で静かに問題を引き起こす代わりにエラーを発生させます。

複数のパラメータで型宣言を使用できます:

<?php
function greetUser(string $name, int $age) {
    return "$name is $age years old.";
}

echo greetUser("Alice", 25);
?>

一般的な型宣言には intfloatstringbool、および array が含まれます。これらを使用することで、コードがより予測しやすくなり、特にプログラムが大規模化するにつれて早期にミスを検出するのに役立ちます。

challenge icon

チャレンジ

簡単

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

  1. 人の名(例: Alice
  2. 人の姓(例: Smith
  3. 生年(例: 1995

createProfile という名前の関数を作成し、型宣言付きで 3 つのパラメータを受け取ります:

  • $firstNamestring として
  • $lastNamestring として
  • $birthYearint として

関数はその人の年齢を計算(現在の年は 2024 と仮定)し、次の形式の文字列を返します:

[firstName] [lastName] is [age] years old.

入力値で関数を呼び出し、返された結果を出力します。

例 1:

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

Alice Smith is 29 years old.

例 2:

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

Bob Johnson is 24 years old.

例 3:

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

Emma Davis is 36 years old.

自分で試してみよう

<?php
// 入力を読み取る
$firstName = trim(fgets(STDIN));
$lastName = trim(fgets(STDIN));
$birthYear = intval(fgets(STDIN));

// TODO: createProfile 関数を作成し、型宣言を追加する
// 関数は $firstName (string)、$lastName (string)、$birthYear (int) を受け取るべき
// 年齢を計算(今年は 2024 年)し、フォーマットされた文字列を返す


// 関数を呼び出して結果を表示する
echo createProfile($firstName, $lastName, $birthYear);
?>
quiz icon腕試し

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

基礎のすべてのレッスン

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