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

Rob*_*Rob 13 php function

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

function dummy_func($optional)
{
    if (!isset($optional)
    {
        $optional = "World!";
    }
    $output = "Hello " . $optional;
    return $output;
}
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*uis 26

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

function dummy_func($optional = "World!")
{
    $output = "Hello " . $optional;
    return $output;
}
Run Code Online (Sandbox Code Playgroud)

请参阅手册中的函数参数页面(特别是" 默认参数值"部分).


cod*_*ict 8

你可以通过使$optional参数取默认值来做到这一点"World!":

function dummy_func($optional="World!")
{
    $output = "Hello " . $optional;
    return $output;
}
Run Code Online (Sandbox Code Playgroud)

现在,如果不提供任何参数,在调用函数时,$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!
Run Code Online (Sandbox Code Playgroud)