当前位置:  开发笔记 > 编程语言 > 正文

是否可以跳过php(5)函数调用中具有默认值的参数?

如何解决《是否可以跳过php(5)函数调用中具有默认值的参数?》经验,为你挑选了2个好方法。



1> Gumbo..:

如果它是您的函数,您可以使用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"



2> ceejayoz..:

如果它是你自己的函数而不是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!']);

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有