質問

私は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のですか?そうでない場合、私は順番を入れ替えると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top