我想知道在PHP 5.6或更高版本的函数调用中是否存在调用特定optionnal参数的方法
e.g。有功能
public static function foo($string, $param2 = FALSE, $param3 = FALSE, $param4 = FALSE)
{
if($param2 === TRUE)
{
#Code that replace all 'e' in $String by 'a' for exemple
}
if($param3 === TRUE)
{
#Code that upper case $String for exemple
}
if($param4 === TRUE)
{
#Code that truncate $string to 4 characters for exemple
}
}
正如您在此处所看到的,所有optionnals参数都可以设置为TRUE或FALSE,而不依赖于其他optionnal参数的设置。
在妈妈那里,我将这个函数称为截断我的字符串的方式是通过设置$ param4' TRUE'像这样:
foo($string, FALSE, FALSE, TRUE);
由于我是一名信息学家,我非常懒惰,所以我不想写这两个'错误的'每当它已经预先设定好的时候。
是否有方法/语法直接转到$ param4?
同样的问题,如果我想设置($ param2和$ param4)或($ param3和$ param4)。
我希望我已经足够清楚了,我提前感谢你。
答案 0 :(得分:1)
最好的方法是只发送一个参数,作为一个数组:
public static function foo($string, $options = [])
{
if (isset($options['flag1']))
{
#Code that replace all 'e' in $String by 'a' for exemple
}
if (isset($options['flag3']))
{
#Code that replace all 'e' in $String by 'a' for exemple
}
if (isset($options['flag3']))
{
#Code that replace all 'e' in $String by 'a' for exemple
}
}
您可以将其称为
$foo('test', ['flag2']);