我正在尝试构建一个具有 2 个默认值的函数,但在某些情况下我只需要提供第一个参数,而其他情况下只需要提供第二个参数。在PHP中是否有一种方法可以做到这一点,或者有没有一种方法可以做我想要的事情,这被认为是标准的?
例
function ex($a, $b = null, $c = null) {
....
}
ex($a, $b, $c) // WORKS FINE
ex($a) // WORKS FINE
ex($a, $b) // WORKS FINE
ex($a, $c) // WANT VAR C TO BE VAR C IN THE FUNCTION AND NOT VAR B
谢谢
ex($a, $c) // WANT VAR C TO BE VAR C IN THE FUNCTION AND NOT VAR B
跳过第二个参数:
ex($a, null, $c);
详细了解官方文档
就这样称呼它:
ex($a, null, $c);
您可以使用关联的数组
请考虑以下代码:
<?php
function tryThis($parms)
{
$defaults = array(
'a' => 5,
'b' => null,
'c' => 'Wibble' );
$parms = array_merge($defaults, $parms);
var_dump($parms);
}
// Use it as follows
tryThis(array('a'=>7, 'c'=>'Hello'));
tryThis(array('b'=>'Hi There'));
?>
它使人能够将参数按任何顺序排列,并允许任何参数的默认值。唯一的缺点是您必须通过关联的数组访问参数。