3

我正在尝试构建一个具有 2 个默认值的函数,但在某些情况下,我只需要提供第一个参数,而其他只需要提供第二个。PHP中有没有一种方法可以做到这一点,或者有没有一种方法可以做我想做的被认为是标准的事情?

例子

function ex($a, $b = null, $c = null) {
    ....
}

ex($a, $b, $c) // WORKS FINE

ex($a) // WORKS FINE

ex($a, $b) // WORKS FINE

ex($a, $c) // WANT VAR C TO BE VAR C IN THE FUNCTION AND NOT VAR B

谢谢

4

3 回答 3

5
ex($a, $c) // WANT VAR C TO BE VAR C IN THE FUNCTION AND NOT VAR B

跳过第二个参数:

ex($a, null, $c);

在官方文档中了解更多信息

于 2012-06-03T15:42:35.120 回答
2

就这样称呼它:

ex($a, null, $c);
于 2012-06-03T15:42:42.780 回答
1

您可以使用关联的数组

考虑以下代码:

<?php

function tryThis($parms)
{
  $defaults = array(
      'a' => 5,
      'b' => null,
      'c' => 'Wibble' );
   $parms = array_merge($defaults, $parms);
   var_dump($parms);
}

// Use it as follows

tryThis(array('a'=>7, 'c'=>'Hello'));
tryThis(array('b'=>'Hi There'));

?>

它使人们可以将参数按任何顺序排列,并允许任何参数的默认值。唯一的缺点是您必须通过关联的数组访问参数。

于 2012-06-03T16:05:33.437 回答