我正在尝试构建一个具有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
由于
答案 0 :(得分:5)
ex($a, $c) // WANT VAR C TO BE VAR C IN THE FUNCTION AND NOT VAR B
跳过第二个参数:
ex($a, null, $c);
<强> Learn more on official docs 强>
答案 1 :(得分:2)
就这样称呼它:
ex($a, null, $c);
答案 2 :(得分:1)
您可以使用关联的数组
请考虑以下代码:
<?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'));
?>
它允许一个人将参数放入任何顺序,并允许任何参数的默认值。唯一的缺点是您必须通过关联的数组访问参数。