-4

次のような関数がある場合:

function somefunc ($data, $something) {
//
}

次のように関数を呼び出すと:

somefunc($data);

引数 2 が欠落しているというエラーを送信します。2 番目の引数をオプションにする方法はありますか? ありがとう

4

3 に答える 3

7

マニュアルから:

デフォルトの引数値

関数は、スカラー引数の C++ スタイルのデフォルト値を次のように定義できます。

例3 関数でのデフォルトパラメータの使用

<?php
function makecoffee($type = "cappuccino")
{
    return "Making a cup of $type.\n";
}
echo makecoffee();
echo makecoffee(null);
echo makecoffee("espresso");

?>

上記の例では、次のように出力されます。

Making a cup of cappuccino.
Making a cup of .
Making a cup of espresso.
于 2013-06-04T14:42:27.143 に答える
2

試す

function somefunc ($data, $something = null) {
//
}
于 2013-06-04T14:42:16.237 に答える
0

このために、配列をパラメーターとして使用するのが好きです。これは、PHP が得意とすることの 1 つです。

function foo(array $options = array())
{
      // you can set the defaults here
      $default = array('data'=>false,'something'=>'whatever');
      $options = array_merge($default,$options);
}

この関数は配列にデフォルトを適用するため、キーが欠落しているかどうかを確認するためにチェックをfoo()実行する必要がなくなりました。isset()

このように呼び出すことができますfoo()

foo(); // pure defaults
foo(array('data'=>'stuff'));
于 2013-06-04T14:44:00.623 に答える