PHP在函数调用期间针对特定的可选参数[重复]
Posted
技术标签:
【中文标题】PHP在函数调用期间针对特定的可选参数[重复]【英文标题】:PHP target a specific optional argument during function call [duplicate] 【发布时间】:2017-05-09 13:43:54 【问题描述】:我想知道是否存在在 php 5.6 或更高版本中调用函数时调用特定可选参数的方法
例如有一个功能
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
正如您在此处看到的,所有选项参数都可以设置为 TRUE 或 FALSE,而与其他选项参数的设置没有任何依赖关系。
目前,我调用这个函数来截断我的字符串的方式是通过像这样设置 $param4 'TRUE' :
foo($string, FALSE, FALSE, TRUE);
由于我是一名信息学家,我很懒惰,所以我不想每次都写这两个'FALSE',而它已经预设了。
是否有直接进入 $param4 的方式/语法?
如果我想设置 ($param2 and $param4) 或 ($param3 and $param4),同样的问题。
我希望我已经足够清楚了,我提前谢谢你。
【问题讨论】:
【参考方案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']);
【讨论】:
谢谢,这正是我所需要的 酷。您也可以将答案标记为正确吗?以上是关于PHP在函数调用期间针对特定的可选参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章