古庄親方の上級試験コラム#016 「言語リファレンス > 関数 > ユーザー定義関数 > 引数 その3」

目次

デフォルト引数値

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

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次