发布时间:2021/03/03 作者:天马行空 阅读(2198)
PHP 在用户自定义函数中支持可变数量的参数列表。由 ... 语法实现。
注意: 还可以使用以下函数来获取可变参数 func_num_args()、 func_get_arg() 和 func_get_args(),不建议使用此方式,请使用 ... 来替代。
包含 ... 的参数,会转换为指定参数变量的一个数组,见以下示例:
示例:使用 ... 来访问变量参数
<?php function sum(...$numbers) { $acc = 0; foreach ($numbers as $n) { $acc += $n; } return $acc; } echo sum(1, 2, 3, 4); ?>
上例会输出:
10
也可以使用 ... 语法来传递 array 做为参数到函数中:
示例:使用 ... 来传递参数
<?php function add($a, $b) { return $a + $b; } echo add(...[1, 2])."\n"; $a = [1, 2]; echo add(...$a); ?>
上例会输出:
3 3
你可以在 ... 前指定正常的位置参数。在这种情况下,只有不符合位置参数的尾部参数才会被添加到 ... 生成的数组中。
你也可以在 ... 标记前添加一个 类型声明。如果存在这种情况,那么 ... 捕获的所有参数必须是提示类的对象。