目次
デフォルト引数値
https://www.php.net/manual/ja/functions.arguments.php#functions.arguments.default
「引数が指定されていない時」のデフォルトの値を定義する事ができます。
「デフォルト値がある引数」はすべて、デフォルト値がない引数より右側に書く必要があります。
もし上述が守られていない場合、PHP 8.0.0以降は「非推奨」のエラーメッセージが出るようになります。
デフォルト値は定数式でなければなりません。
関数を呼ぶ時に「明示的にnullを渡す」と、(デフォルト値は使われず)null自体が入る事に注意しましょう。
PHP 8.1.0以降であれば(試験範囲対象外)、new ClassName() 記法を使ってオブジェクトも指定できます。
可変長引数リスト
https://www.php.net/manual/ja/functions.arguments.php#functions.variable-arg-list
...
を使うことで可変長引数を扱う事ができます。
func_num_args(), func_get_arg(), func_get_args() 関数でも可変長引数を扱う事ができますが、現状この方法は推奨されていません。
このコラムに関連するコードはこちらになります
https://github.com/php-engineer-examination/php8_column_expert/blob/main/src/016.php