有没有办法在PHP中指定可选参数值?
假设我有一个PHP函数foo:
function foo($firstName = 'john', $lastName = 'doe') { echo $firstName . " " . $lastName;
}
// foo(); --> john doe
有什么办法只能指定第二个可选参数?
例:
foo($lastName='smith'); // output: john smith
回答:
PHP本身不支持命名参数作为函数。但是,有一些方法可以解决此问题:
- 使用数组作为该函数的唯一参数。然后,您可以从数组中提取值。这允许在数组中使用命名参数。
- 如果要根据上下文允许可选数量的参数,则可以使用func_num_args和func_get_args而不是在函数定义中指定有效参数。然后,根据参数数量,字符串长度等,您可以确定要执行的操作。
- 将空值传递给您不想指定的任何参数。并不是真的可以绕开它,但是它可以工作。
- 如果在对象上下文中工作,则可以使用魔术方法__call()处理这些类型的请求,以便可以根据传递的参数将其路由到私有方法。
以上是 有没有办法在PHP中指定可选参数值? 的全部内容, 来源链接: utcz.com/qa/409189.html