【发布时间】:2011-06-02 12:19:40
【问题描述】:
在 Python 和其他语言中,可变长度参数列表有特殊的语法:
def do_something(*args):
# do something
do_something(1, 2, 3, 4, 5, ...) # arbitrarily long list
我正在阅读 PHP 手册,它是这样说的:
PHP 4 及更高版本支持 可变长度参数列表 用户定义的函数。这真的是 很简单,使用 func_num_args(), func_get_arg() 和 func_get_args() 功能。
不需要特殊的语法,并且 参数列表可能仍然是显式的 提供函数定义和 将正常运行。
我得到了第一部分。您可以将任意数量的参数传递给不带参数的函数,然后使用 func_get_args() 等将它们作为数组获取。不过,我真的不明白第二部分在说什么。
所以,我的问题是,是否有一些可变长度参数的特殊语法,或者一些我不知道的最佳实践?手册建议的方法充其量似乎很笨拙,并且使您的函数看起来好像没有参数(除非我做错了)。我不应该尝试使用此语言功能吗?
【问题讨论】:
-
@Shrapnel 这是一种 PHP 哲学,不是吗?谁管别人,我就生产什么?
-
PHP 支持 cmets。够了。如果你想写代码,不要闲聊代码。
标签: php function variadic-functions