如何在PHP中的自定义函数中创建可选参数?

时间:2010-10-04 14:19:24

标签: php function

例如,这是一个快速虚拟函数,它总结了它:

function dummy_func($optional)
{
    if (!isset($optional)
    {
        $optional = "World!";
    }
    $output = "Hello " . $optional;
    return $output;
}

但是,如果我运行它,我会得到一个缺少参数的E_WARNING。如何设置它以便不标记错误?

2 个答案:

答案 0 :(得分:26)

可选参数需要赋予默认值。而不是检查参数上的isset,只要给它你想要的值,如果没有给出:

function dummy_func($optional = "World!")
{
    $output = "Hello " . $optional;
    return $output;
}

请参阅手册中的Function arguments页面(特别是Default argument values部分)。

答案 1 :(得分:8)

您可以将$optional参数设为默认值"World!"

来实现
function dummy_func($optional="World!")
{
    $output = "Hello " . $optional;
    return $output;
}

现在,如果你不提供任何参数调用函数,$optional将采用默认值,但如果你传递一个参数,$optional将采用传递的值。

示例:

echo dummy_func();      // makes use of default value...prints Hello World!
echo dummy_func('foo!'); // makes use of argument passed...prints Hello foo!