Недавно я узнал о PHP-токене … документы), который используется для поддержки списков аргументов переменной длины. Как называется этот токен или как он произносится? Если у него нет имени, есть ли у них похожая функциональность на другом языке, у которого есть имя?
TL; DR: имя токена ‘T_ELLIPSIS’, используемое в объявлении функции, делает эту функцию ‘variadic’, используемой при вызове функции с массивом, содержащим параметры, она называется ‘распаковка аргумента’.
Его имя T_ELLIPSIS
Я выяснил это используя token_get_all
а также token_name
в псыш-сессию:
>>> token_get_all('<?php function testit(...$a) { echo $args;}')
=> [
[
379,
"<?php ",
1,
],
....
[
391,
"...",
1,
],
....
>>> token_name(391)
=> "T_ELLIPSIS">>>
Изменить: Я понял вас, возможно, слишком буквально — я думал, что вы спросили имя токена, но, учитывая downvote (s), я подозреваю, что вы имели в виду, как программисты относятся к нему в речи и письме (очевидно, «сплат», в соответствии с к комментариям)
Редактировать 2: Используемая в определении функции перед последним параметром, в других языках функция, определенная с помощью многоточия в PHP, будет называться «переменной функцией»:
>>> function f(...$a) { return $a; }
>>> f(1, 2, 3, 4)
=> [
1,
2,
3,
4,
]
>>>
Редактировать 3: Наконец: если у вас есть массив, содержащий значения, которые вы хотите передать в функцию, вы можете использовать ...
добиться «Распаковка аргумента»
>>> function f($a, $b, $c) { return "{$a}-{$b}-{$c}"; }
>>> f(...[1,2,3]);
=> "1-2-3">>>
Других решений пока нет …