Синтаксис типа …$guards

435
28 ноября 2016, 18:46

Что значит синтаксис типа public function handle($request, Closure $next, ...$guards) ? Что за три точки?

Answer 1

В версиях PHP 5.6 и выше список аргументов может содержать многоточие ..., чтобы показать, что функция принимает переменное количество аргументов. Аргументы в этом случае будут переданы в виде массива. Например:

<?php
function sum(...$numbers) {
    $acc = 0;
    foreach ($numbers as $n) {
        $acc += $n;
    }
    return $acc;
}
echo sum(1, 2, 3, 4);
?>

Результат выполнения данного примера:

10

Многоточие (...) можно использовать при вызове функции, чтобы распаковать массив (array) или Traversable переменную в список аргументов:

<?php
function add($a, $b) {
    return $a + $b;
}
echo add(...[1, 2])."\n";
$a = [1, 2];
echo add(...$a);
?>

Результат выполнения данного примера:

3
3

Документация

READ ALSO
ошибка в foreach

ошибка в foreach

Здравствуйте тут на форуме дали подсказку но она с ошибкой суть скрипта такая что б он заносил каждую запись в новую строку ошибка Parse error:...

365
Как в боте telegram сделать перевод строки?

Как в боте telegram сделать перевод строки?

Нужен перенос сроки в сообщении бота телеграм! Как сделать то?

2258
PHP multi query

PHP multi query

Вопрос: как исправить ошибку?

493