问题是,我有一个带有3个参数的函数。所有三个参数都有一个默认值。但是可以仅使用以下参数之一来调用函数:
function check($a=1, $b=2, $c=3){
echo 'a : ' . $a;
echo 'b : ' . $b;
echo 'c : ' . $c;
}
$res = check($c=5);
并期望得到以下结果:
a : 1
b : 2
c : 5
我尝试使用这种代码,但是发生的是将$c=5
传递给第一个参数。在这种情况下,$a
答案 0 :(得分:3)
不,您不能以这种方式这样做。 PHP将按照您在函数中定义的顺序使用值。 但是,可以将数据作为数组传递给函数。
$res = check(array('a' => $defaulta, ..., 'c' => 5))
在其中具有默认值的地方,例如$ defaulta / b / c。或者只是将它们硬编码。
希望这会有所帮助!