PHP函数构建默认变量?

时间:2012-06-03 15:41:11

标签: php function

我正在尝试构建一个具有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

由于

3 个答案:

答案 0 :(得分:5)

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

跳过第二个参数:

ex($a, null, $c);

<强> Learn more on official docs

答案 1 :(得分:2)

就这样称呼它:

ex($a, null, $c);

答案 2 :(得分: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'));

?>

它允许一个人将参数放入任何顺序,并允许任何参数的默认值。唯一的缺点是您必须通过关联的数组访问参数。