猿问

那么在调用foo的时候怎么能赋值给$a和$c.而$b为默认的2?

例如:
foo($a=1,$b=2,$c=3){
echo $a;
echo $b;
echo $c;

}

我知道这语法是错误的。例如,foo($a=4,$c=5)
比如foo中输出,
4 2 5
foo是个接口。我不能改动,只知道调用参数。

牧羊人nacy
浏览 173回答 3
3回答

扬帆大鱼

跨过中间的默认参数?地球上目前么有任何编程语言能支持这种奇怪的调用方式。也许可以利用反射做到这一点?我不确定。

汪汪一只猫

<?phpfunction foo(){$numargs = func_num_args();echo "Number of arguments: $numargs<br />\n";if ($numargs >= 2) {echo "Second argument is: " . func_get_arg(1) . "<br />\n";}$arg_list = func_get_args();for ($i = 0; $i < $numargs; $i++) {echo "Argument $i is: " . $arg_list[$i] . "<br />\n";}}foo(1, 2, 3);?>&nbsp;

HUH函数

不能做一个外套函数吗?foo2($a=4,$c=5){foo($a,2,$c);}foo2($a=4,$c=5)
随时随地看视频慕课网APP
我要回答