购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.3 动态处理参数和可变长度参数

PHP中的函数还有一个强大的特性,就是可以动态处理参数。在函数中,可以通过以下函数获取参数信息:

● func_num_args()函数,返回带入的参数数量。

● func_get_args()函数,返回一个数组(array),其中包含了所有带入的参数。

● func_get_arg()函数,返回指定的参数,参数是一个从0开始的数值索引。

下面的代码演示了func_get_args()函数的使用。

在fnTest()函数中,会显示带入的所有参数数据,代码执行结果见图5-4。

图 5-4

下面的代码演示了func_num_args()和func_get_arg()函数的使用。

fnTest()函数中,会根据数值索引访问带入的所有参数,代码执行结果见图5-5。

图 5-5

此外,在PHP中还支持可变长度参数语法,可以在函数参数列表的最后使用三个圆点(…)定义可变长度参数,它会以数组的形式将参数带入函数,如下面的代码。

代码执行结果见图5-6。

图 5-6

本例中定义的fn1()函数,至少需要一个参数$x,接下来是可变长度的参数列表;函数中,首先显示了参数的总数量,然后显示了可变长参数数组的内容。如果没有指定可变长参数,在函数中会表示为一个成员数量为0的空数组,如下面的代码。

代码执行结果见图5-7。

图 5-7

请注意,这里的$x变量数据需要单独读取,它并不包含在可变长参数数组中,但使用func_get_args()函数可以获取全部参数,如下面的代码。

代码执行结果见图5-8。

图 5-8

实际应用中,如果函数至少需要两个参数,可以使用如下格式定义。

    function fn1(int $x,int $y,...$args)
    { }

如果函数可以使用0到多个参数,可以直接使用可变长参数,如下面的格式。 /jxHhq0VUBaBDMBbpdtvJiUMbRSHvNSnFWnW9el09ZFPbQxlTIuVYYyAFOY6/Dfc

    function fn1(...$args)
    { }
点击中间区域
呼出菜单
上一章
目录
下一章
×