Значение трех точек (…) в PHP

В чем смысл трех точек (…) в PHP?

Пока я устанавливаю Magento 2 в своем Sever, я получил ошибку. Изучите код и выясните, что существует три точки (…), которые создают ошибку. Я упомянул код ниже

return new $type(...array_values($args)); 

...$str называется оператором splat в PHP .

Эта функция позволяет вам записывать переменное количество аргументов в функцию в сочетании с «нормальными» аргументами, переданными, если хотите. Это проще всего увидеть на примере:

 function concatenate($transform, ...$strings) { $string = ''; foreach($strings as $piece) { $string .= $piece; } return($transform($string)); } echo concatenate("strtoupper", "I'd ", "like ", 4 + 2, " apples"); // This would print: // I'D LIKE 6 APPLES 

Список параметров в объявлении функции имеет в нем оператор ... , и это в основном означает «… и все остальное должно идти в строки $». Вы можете передать 2 или более аргументов в эту функцию, а второй и последующие будут добавлены в массив $ strings, готовый к использованию.

Надеюсь это поможет!

Чтобы использовать эту функцию, просто предоставьте PHP, чтобы она распаковывала массив в переменные, используя ... operator См. Здесь для более подробной информации, простой пример может выглядеть так:

 $email[] = "Hi there"; $email[] = "Thanks for registering, hope you like it"; mail("someone@example.com", ...$email); 

Каждый ответ относится к одному и тому же сообщению в блоге, помимо них, вот официальная документация о списках аргументов переменной длины :

http://php.net/manual/en/functions.arguments.php#functions.variable-arg-list

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

Кажется, оператор «splat» не является официальным именем, но все же это мило!

Это так называемый оператор «splat». В основном эта вещь переводится как «любое количество аргументов»; введено с PHP 5.6

Подробнее см. Здесь .