如何将可选参数传递给PHP函数。例如
function test($required, $optional){..}
因此我应该能够通过传递一个参数或两者来调用该函数。例如:
test($required, $optional)
test($required);
感谢。
答案 0 :(得分:46)
试试这个:
function test($required, $optional = NULL){..}
然后你可以打电话
test($required, $optional)
并使用$optional
null
test($required);
答案 1 :(得分:10)
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");
?>