[php] PHPでデフォルト値がある引数を持つ関数の宣言の仕方

一時期はVBAにどっぷりだったんですが最近はPHP熱が戻ってきたり。そんなわけで、ちょいちょいPHPの疑問が。
今回は関数定義の際に、引数のところで、デフォルト値を設定したOptionalな引数の設定の仕方に関してです。

Optionalな引数

私がOptionalという言葉を使うのには理由があって、VBAではデフォルト値を設定した引数はoptionalってつけて宣言するんですよ。
なので、それをPHPでやる場合にはどうするんだろうなぁ?という形で疑問が浮上したわけです。

ちなみに、VBAで宣言をするなら以下のような感じです。

Public Function test(byref x, optional byref y=0)
...
End Function

結論:「=(デフォルト値)」をつけるだけ

結論はめちゃくちゃ簡単でした。引数の宣言のところで、「=(デフォルト値)」と設定してあげるだけです。Optionalなどの文字は必要なしです!

function test($x, $y = 0){
...
}

逆に言えば、デフォルト値を設定しないで、Optionalな引数をつけるというのは不可能だということですね。。

おしまい

知っていれば簡単な事だけど、知らないと意外と苦労する話でした!こういうことってあるあるだよね!!笑

タイトルとURLをコピーしました