如何向 PHP 函数传递可选参数。例如:
function test($required, $optional){..}
我希望能够通过传递一个或两个参数来调用该函数。例如:
test($required, $optional)
test($required);
感谢。如何向 PHP 函数传递可选参数。例如:
function test($required, $optional){..}
我希望能够通过传递一个或两个参数来调用该函数。例如:
test($required, $optional)
test($required);
感谢。试试这个:
function test($required, $optional = NULL){..}
那么你可以调用
test($required, $optional)
并且使用 $optional
为 null
test($required);
$required
和 $optional
时,$optional=NULL
会被覆盖吗?这将完美地适用于 $optional
数据吗? - Neocortex1)您可以这样为参数定义默认值:
function test($required, $optional = false) {}
2) 您可以使用 func_num_args() 获取参数数量,func_get_arg($n) 获取第 n 个参数或者使用 func_get_args() 获取所有参数的数组。
您可以在这里找到一个好的总结:函数参数
function test($required, $optional = ''){
#code
}
在调用时:
test($required)
或者:
test($required, $optional = 'something')
test($required, $optional = 'something')
进行调用是误导性的,因为你正在分配 $optional
变量,而不是按名称传递可选参数值。 - McXf($b='b')
调用 function f($a='', $b='')
并认为它将调用 f('', 'b')
,但实际上它将调用 f('b', '')
并设置全局变量 $b='b'
。 - McX只需在您的函数中设置默认参数,例如:
function test($required, $optional = null, ... )
test($required, $optional)
test($required);
阅读此内容http://php.net/manual/zh/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");
?>