0

次の機能がある場合

function func1($captainObvious="John",$name){
  return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}

引数1を与えずに、引数2でどのように呼び出すのですか?私はそれを次のようなもので呼びたいです

func1(default,"Benny");

しかし、私はその可能性を見つけることができないようです。

4

3 に答える 3

1

関数を作成するときは、最初に必要なパラメーターを配置し、次にデフォルト値を持つパラメーターを配置する必要があります。そうしないと、このような状況になり、最初のパラメーターに値を指定する必要があります。

于 2013-01-26T23:34:47.953 に答える
1

変更できない場合はfunc1、を使用する必要がありますfunc1("John", "Benny")。それを変更することはできますが、レガシーの問題のためにパラメーターの順序を変更すること(推奨される解決策!)が問題にならない場合はnull、デフォルトのフラグとして使用できます。

function func1($captainObvious="John", $name){
  if ($captainObvious === null) {
    $captaionObvious = "John";
  }
  return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}

func1(null,"Benny");
于 2013-01-26T23:40:31.907 に答える
1

必要な変数を最初に配置する必要があります。

例えば

Function func1($captainObvious="John",$name){
    return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}

Function func2($name, $captainObvious="John"){
    return "Hallo my name is ".$captainObvious."<br>Welcome ".$name."!";
}

次に、これらの関数を呼び出すと

echo(func1('', 'Benny'));
echo(func2('Benny', '');

func1になります

ハロー私の名前は。

ようこそベニー!

そしてfunc2のために

ハロー私の名前はジョンです。

ようこそベニー!

于 2013-01-26T23:44:56.390 に答える