2

从 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()函数似乎在调用它的行上生成警告/错误。

4

1 回答 1

0

该函数只是增加了对您是否有 3 个参数的额外检查。

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

如同 :

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

参考:func_num_args() , trigger_error()

于 2013-05-07T04:09:40.167 回答