PHPでデフォルト引数を使用する方法
-
26-09-2019 - |
質問
私はARG1 =ヴァルとarg2に=ヴァル
にデフォルト値を持つ関数doSomething(arg1, arg2)
を定義したいです
私が書くとき
function doSomething($arg1="value1", $arg2="value2"){
// do something
}
これはデフォルトARG1とARG2 = "new_value2"
とdoSomethingのを呼び出すことができるようになりました解決
いやが、悲しいことに、これは不可能です。あなたが$arg2
を定義する場合は、あなたがうまくとして$arg1
を定義する必要があります。
他のヒント
時々私は、デフォルトで多くのパラメータを持っている場合、私は引数が含まれており、デフォルトでそれをマージする配列を使用します。
public function doSomething($requiredArg, $optional = array())
{
$defaults = array(
'arg1' => 'default',
'arg2' -> 'default'
);
$options = array_merge($defaults, $optional);
}
本当に唯一あなたがけれども引数の多くを持っている場合は理にかなっています。
function doSomething( $arg1, $arg2 ) {
if( $arg1 === NULL ) $arg1 = "value1";
if( $arg2 === NULL ) $arg2 = "value2";
...
}
、コールへ:
doSomething();
doSomething(NULL, "notDefault");
あなたは今までに割り当てarg1にではなく、arg2のですか?そうでない場合、私は順番を入れ替えると思います。
所属していません StackOverflow