doSomething(arg1, arg2)
デフォルト値をarg1=valおよびarg2=valに設定して関数を定義したい
私が書くとき
function doSomething($arg1="value1", $arg2="value2"){
// do something
}
デフォルトのarg1およびarg2="new_value2"を使用してdoSomethingを呼び出すことは可能ですか?
doSomething(arg1, arg2)
デフォルト値をarg1=valおよびarg2=valに設定して関数を定義したい
私が書くとき
function doSomething($arg1="value1", $arg2="value2"){
// do something
}
デフォルトのarg1およびarg2="new_value2"を使用してdoSomethingを呼び出すことは可能ですか?
デフォルトのパラメータがたくさんある場合は、配列を使用して引数を含め、デフォルトとマージすることがあります。
public function doSomething($requiredArg, $optional = array())
{
$defaults = array(
'arg1' => 'default',
'arg2' -> 'default'
);
$options = array_merge($defaults, $optional);
}
しかし、実際には多くの議論がある場合にのみ意味があります。
いいえ、残念ながら、これは不可能です。を定義する場合は、同様$arg2
に定義する必要があります。$arg1
function doSomething( $arg1, $arg2 ) {
if( $arg1 === NULL ) $arg1 = "value1";
if( $arg2 === NULL ) $arg2 = "value2";
...
}
そして呼び出すために:
doSomething();
doSomething(NULL, "notDefault");
arg1を割り当てますがarg2は割り当てませんか?そうでない場合は、順序を切り替えます。