在PHP函数中传递可选参数

时间:2011-03-26 11:07:34

标签: php

如何将可选参数传递给PHP函数。例如

function test($required, $optional){..}

因此我应该能够通过传递一个参数或两者来调用该函数。例如:

test($required, $optional)
test($required);

感谢。

6 个答案:

答案 0 :(得分:46)

试试这个:

function test($required, $optional = NULL){..} 

然后你可以打电话

test($required, $optional)

并使用$optional null

test($required);  

答案 1 :(得分:10)

使用default value

function test($required, $optional="default value"){..}

答案 2 :(得分:7)

1)您可以为参数定义默认值,如下所示:

function test($required, $optional = false) {}

2)你可以使用 func_num_args()来获取参数的数量, func_get_arg($ n)来获取第n个参数或 func_get_args( )获取所有参数的数组。

您可以在此处找到一个很好的摘要:Function arguments

答案 3 :(得分:5)

您也可以这样做:

function test($required, $optional = ''){
    #code
}

致电:

test($required)

test($required, $optional = 'something')

答案 4 :(得分:2)

只需在您的函数中设置默认参数。

function test($required, $optional = null, ... )

现在您可以像这样调用您的函数

test($required, $optional)
test($required);

答案 5 :(得分:0)

阅读此http://php.net/manual/en/function.func-get-args.php

声明函数时不传递任何参数 如下所示

function myMin() {
      $list = func_get_args();
      $min = NULL;
      if (count($list)>0) $min = $list[0];
      for ($i=1; $i<count($list); $i++) {
         if ($min > $list[$i]) $min = $list[$i];
      }
      return $min;
   }

   print("\n Calling a function that uses func_get_args():\n");
   print("    ".myMin()."\n");
   print("    ".myMin(5)."\n");
   print("    ".myMin(5, 6, 2)."\n");
   print("    ".myMin(5, 6, 2, 9, 5, 1, 4, 1, 3)."\n");
?>