所以,我知道用PHP可以定义可选参数(StackOverflow Questions)。
我要做的是以下内容:
function myFunc($a, $b, $c, $type, $variable_name, $filter, $options)
{
$value = filter_input($type, $variable_name, $filter, $options);
//Do something with $a, $b, $c, and $value
}
由于我传递的参数与filter_input
的内置函数有关,我知道$ filter和$ options是可选参数,为了使它们可选,我只需为它们分配一个默认值。但是,我不确定该默认值应该是什么。我的猜测是$ filter应该默认为FILTER_DEFAULT
,这是有道理的,但是我找不到任何关于$ options应该默认的信息。
答案 0 :(得分:2)
默认$ filter和$ options为NULL。它们也是filter_input()
的可选项,那么为什么filter_input()
会为您分配一个值?如果PHP曾经更新过该函数的默认值,那么你仍然是最新的。
你的功能如下:
function myFunc($a, $b, $c, $type, $variable_name, $filter=NULL, $options=NULL)
{...
答案 1 :(得分:0)
filter_input
方法的文档表明期望值是一个整数,因此它可能是0
。
答案 2 :(得分:0)
由于filter_input函数的options参数是er .. optional并且可以是数组或位掩码,所以我怀疑使用...
function myFunc($a, $b, $c, $type, $variable_name, $filter, $options=null) {
...
..将是理想的,除非有特定的应用原因。