如何制作函数参数选项?

时间:2013-06-04 14:41:08

标签: php function parameters

如果你有这样的功能:

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

当你调用这样的函数时:

somefunc($data);

它发送错误说它缺少参数2.有没有办法让第二个参数可选? 感谢

3 个答案:

答案 0 :(得分:7)

来自the manual

默认参数值

函数可以为标量参数定义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.

答案 1 :(得分:2)

尝试

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

答案 2 :(得分:0)

为此,我喜欢使用数组作为参数。这是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'));