限制php中可选参数的参数计数

时间:2013-05-07 04:07:52

标签: php optional-parameters

从php文档中我发现了以下功能:

string number_format ( float $number , int $decimals = 0 , 
                       string $dec_point = '.' , string $thousands_sep = ',' )

此功能接受一个,两个或四个参数(不是三个)。当传递三个参数时,该函数在函数调用行上生成警告Warning: Wrong parameter count for number_format()

据我所知,任何可选参数都应该是完全可选的。另外,php不支持函数重载,因此我们可以创建两个不同的函数来实现这一点。

我的问题是:

  1. 是否有可能以某种方式限制函数声明本身(不在函数代码中)中的参数数量

  2. 如果没有,并且上述函数使用trigger_error()生成警告,生成的警告如何引用调用此函数的文件和行。 trigger_error()函数似乎在它被调用的行上生成警告/错误。

1 个答案:

答案 0 :(得分:0)

该功能只是增加了一个是否有3个参数的检查。

如果发送了3个参数,则会生成警告。

类似于:

if(func_num_args() == 3) {
  trigger_error('Wrong parameter count for number_format()', E_USER_WARNING);
}

参考:func_num_args()trigger_error()