Поскольку PHP 5.6 , список переменных можно указать с помощью оператора ...
.
function do_something($first, ...$all_the_others)
{
var_dump($first);
var_dump($all_the_others);
}
do_something('this goes in first', 2, 3, 4, 5);
#> string(18) "this goes in first"
#>
#> array(4) {
#> [0]=>
#> int(2)
#> [1]=>
#> int(3)
#> [2]=>
#> int(4)
#> [3]=>
#> int(5)
#> }
Как видите, оператор ...
собирает список переменныхаргументов в массиве.
Если вам нужно передать переменные аргументы в другую функцию, ...
все еще может вам помочь.
function do_something($first, ...$all_the_others)
{
do_something_else($first, ...$all_the_others);
// Which is translated to:
// do_something_else('this goes in first', 2, 3, 4, 5);
}
Поскольку PHP7 , список переменных может быть принудительно установлен на все того же типа.
function do_something($first, int ...$all_the_others) { /**/ }