PHP中可变数量的参数

Ofe*_*Ron -22 php

在将某些代码从Java转换为PHP的过程中,我遇到了以下Java代码:

void doSomething(String requiered, String... optionals) {...}
Run Code Online (Sandbox Code Playgroud)

我知道可以使用创建类似的函数签名,func_get_args()并且我也可以在数组中传递未知数量的参数。但是,这两者对我来说似乎都不是直接的,因此我想知道是否有更好的方法在PHP中使用可变数量的参数。

Mat*_*iss 5

PHP 5.6引入了具有此精确构造的功能。从PHP手册:

参数列表可以包含...标记,以表示该函数接受可变数量的参数。参数将作为数组传递到给定变量中

<?php
function sum($acc, ...$numbers) {
    foreach ($numbers as $n) {
        $acc += $n;
    }
    return $acc;
}

echo sum(1, 2, 3, 4);
?>
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/zh/functions.arguments.php#functions.variable-arg-list