1

引数として数値を期待するメソッドがあるとしましょう。引数が存在しない場合にデフォルト値を設定する適切な方法は何ですか?

public function saveme($myvar = false) {}

public function saveme($myvar = '') {}

public function saveme($myvar = NULL) {}

public function saveme($myvar = 0) {}
4

2 に答える 2

3

これらはすべて有効であり、すべてのケースでどちらが「より正しい」というわけではありません。それは、関数の有効な値の範囲と、関数が何をすべきかによって完全に異なります。通常、「値なし」のプレースホルダーが必要な場合を除き、既定の型は予想される入力型と一致しますnull

関数がデフォルトの で何か便利なことを実行できる場合は0、 を使用します0。単一の引数が明示的に与えられた場合と引数が与えられていない場合の違いを関数が判断する必要がある0場合、または0が適切なデフォルトでない場合は、 を使用しますnull

于 2012-06-12T12:37:21.240 に答える