На что должен ссылаться токен переменной длины `…` `в PHP?

Недавно я узнал о PHP-токене … документы), который используется для поддержки списков аргументов переменной длины. Как называется этот токен или как он произносится? Если у него нет имени, есть ли у них похожая функциональность на другом языке, у которого есть имя?

-1

Решение

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">>>
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]