Глоссарий

Spread-оператор (...)

Spread-оператор (...) в PHP распаковывает массив или Traversable в список аргументов или элементов. Упрощает передачу переменного числа аргументов и слияние массивов.

Распаковка в аргументы

function sum(int ...$nums): int {
  return array_sum($nums);
}

$numbers = [1, 2, 3];
echo sum(...$numbers); // 6

Variadic functions

function log(string $level, string ...$messages): void {
  foreach ($messages as $msg) {
    echo "[$level] $msg\n";
  }
}
log('info', 'Started', 'Connected', 'Done');

Слияние массивов (PHP 8.1 — string keys)

$defaults = ['color' => 'blue', 'size' => 'M'];
$custom   = ['color' => 'red'];

$result = [...$defaults, ...$custom];
// ['color' => 'red', 'size' => 'M']