私信  •  关注

Pascal MARTIN

Pascal MARTIN 最近创建的主题
Pascal MARTIN 最近回复了
14 年前
回复了 Pascal MARTIN 创建的主题 » php python样式的函数变量[重复]

不,这是不可能的:如果你想通过第三个参数,你必须通过第二个参数。并且命名参数也是不可能的。


一个“解决方案”是只使用一个参数,一个数组,并且总是通过它…但不要总是定义其中的一切。

例如:

function foo($params) {
    var_dump($params);
}

这样称呼:

foo(array(
    'a' => 'hello',
));

foo(array(
    'a' => 'hello',
    'c' => 'glop',
));

foo(array(
    'a' => 'hello',
    'test' => 'another one',
));

将获得以下输出:

array
  'a' => string 'hello' (length=5)

array
  'a' => string 'hello' (length=5)
  'c' => string 'glop' (length=4)

array
  'a' => string 'hello' (length=5)
  'test' => string 'another one' (length=11)

但我不太喜欢这样的解决方案:

  • 你会失去phpdoc的
  • 您的IDE将不能提供任何提示了…哪一个不好

因此,我只在非常具体的情况下才这样做,例如对于具有很多opTyn参数的函数,例如…