如果你有这样的功能:
function somefunc ($data, $something) {
//
}
当你像这样调用函数时:
somefunc($data);
它发送错误说它缺少参数 2。有没有办法使第二个参数可选?谢谢
如果你有这样的功能:
function somefunc ($data, $something) {
//
}
当你像这样调用函数时:
somefunc($data);
它发送错误说它缺少参数 2。有没有办法使第二个参数可选?谢谢
从手册:
默认参数值
函数可以为标量参数定义 C++ 风格的默认值,如下所示:
Example #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 做得很好的事情之一。
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'));