如果它是您的函数,您可以使用null
通配符并稍后在函数内设置默认值:
function foo($a=null, $b=null, $c=null) { if (is_null($a)) { $a = 'apple'; } if (is_null($b)) { $b = 'brown'; } if (is_null($c)) { $c = 'Capulet'; } echo "$a, $b, $c"; }
然后你可以使用null
以下方法跳过它们:
foo('aardvark', null, 'Montague'); // output: "aarkvark, brown, Montague"
如果它是你自己的函数而不是PHP的核心,你可以这样做:
function foo($arguments = []) { $defaults = [ 'an_argument' => 'a value', 'another_argument' => 'another value', 'third_argument' => 'yet another value!', ]; $arguments = array_merge($defaults, $arguments); // now, do stuff! } foo(['another_argument' => 'not the default value!']);