次のような関数がある場合:
function somefunc ($data, $something) {
//
}
次のように関数を呼び出すと:
somefunc($data);
引数 2 が欠落しているというエラーを送信します。2 番目の引数をオプションにする方法はありますか? ありがとう
次のような関数がある場合:
function somefunc ($data, $something) {
//
}
次のように関数を呼び出すと:
somefunc($data);
引数 2 が欠落しているというエラーを送信します。2 番目の引数をオプションにする方法はありますか? ありがとう
マニュアルから:
デフォルトの引数値
関数は、スカラー引数の 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.
試す
function somefunc ($data, $something = null) {
//
}
このために、配列をパラメーターとして使用するのが好きです。これは、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'));