PHP中的可选函数输入

Bri*_*ian 2 php user-defined-functions

我注意到在一些PHP内置函数(如str_replace)中有可选的输入变量.我可以在自己的函数中有可选的输入变量吗?如果是这样,怎么样?

谢谢,Brian

cle*_*tus 8

第一种方法是为某些参数使用默认值:

function doStuff($required, $optional = '', $optional2 = '') {
  ...
}
Run Code Online (Sandbox Code Playgroud)

现在您只需包含一个默认值,然后有人可以执行以下操作:

doStuff('foo');
doStuff('foo', 1);
doStuff('foo', 2, 3);
Run Code Online (Sandbox Code Playgroud)

如果未指定字段,则需要选择适当的默认值,或者指示未设置任何值.典型的例子是'',0,false,nullarray().

或者您根本不需要指定它们func_get_args():

function doStuff() {
  print_r(func_get_args());
}
Run Code Online (Sandbox Code Playgroud)

func_get_args() 也可以与显式参数(第一个示例)一起使用.