第6章 ユーザー定義関数 / 第2回 模擬試験

PHPの関数の引数に関する次の記述のうち、正しいものはどれか。

引数はデフォルトで参照渡しされる。
型宣言(type hint)を使うと、引数の型を制限できる。 正解
デフォルト引数は必須引数より前に記述しなければならない。
可変長引数は1つの関数につき複数個定義できる。
解説
関数の引数に型宣言(type hint、`int`, `string`, `array`, クラス名など)を付けると、渡せる値の型を制限できます。厳密な型チェックを行いたい場合はファイル冒頭で`declare(strict_types=1);`を宣言します。 他の選択肢が誤りである理由は次の通りです。 ・PHPの引数はデフォルトでは値渡しです。参照渡しにしたい場合は仮引数名の前に`&`を付ける必要があります。 ・デフォルト値を持つ引数(オプション引数)は、デフォルト値を持たない必須引数より「後ろ」に記述する必要があります(先に書くと構文エラーになります)。 ・可変長引数(`...$args`)は1つの関数につき1つだけ、かつ引数リストの最後に定義できます。 例: ``` function greet(string $name, int $age = 20): string { return "{$name} ({$age})"; } ``` (参照: 独習PHP 第4版 第6章 ユーザー定義関数 6.1節/6.3節 p.258〜288)