84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
可以只传$a和$c吗
f(1,,1);//会报错 } function f($a, $b = 'hello', $c) { if($a) echo $a; if($b) echo $b; if($c) echo $c; } } ?>
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
带默认值的函数参数应该放到最后.
再改不了f()方法的情况下,可以加个方法来实现
_f(1, 1); } public function f($a, $b = 'hello', $c) { if($a) echo $a; if($b) echo $b; if($c) echo $c; } public function _f() { $input = func_get_args(); $arguments = []; $reflection = new ReflectionMethod($this, 'f'); foreach ($reflection->getParameters() as $parameter) { $arguments[] = $parameter->isDefaultValueAvailable() ? $parameter->getDefaultValue() : array_shift($input); } return call_user_func_array([$this, 'f'], $arguments); } } $c = new C();
_f()方法接收到的参数,会依次传值给f()方法中没有默认值的参数。
带默认值的函数参数应该放到最后.
再改不了f()方法的情况下,可以加个方法来实现
_f()方法接收到的参数,会依次传值给f()方法中没有默认值的参数。