PHP不支持這種調用方式,妳的需求是不能實現的。
如果妳不能改動函數,那麽妳可以做壹個封裝。PHP的語法比較靈活,有幾種替代方式妳可以借鑒。這些例子都有廣泛的應用。
示例壹:如果參數值為null,則在函數裏強制賦值為默認值
<?phpfunction?foo2($a=1,$b=2,$c=3)?{
if?($a?===?null)?$a=1;
if?($b?===?null)?$b=2;
if?($c?===?null)?$c=3;
foo($a,?$b,?$c);
}
foo(1,?null,?3);
示例二:使用數組參數
<?phpfunction?foo3($array=array())?{
extract($array);
if?(!isset($a))?$a=1;
if?(!isset($b))?$b=2;
if?(!isset($c))?$c=3;
foo($a,?$b,?$c);
}
foo(array('a'=>1,?'c'=>3));
python是支持妳所說的那種調用方式的:
def?foo(a=1,?b=2,?c=3):pass
foo(a=1,?c=3)