小编典典

PHP中三个点(...)是什么意思?

all

在我的服务器上安装 Magento 2 时,出现错误。查了代码,发现有三个点(...),就是报错。我包括了我在下面找到的代码:

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

这个运算符叫什么,它的用途是什么?


阅读 107

收藏
2022-06-28

共1个答案

小编典典

...在 PHP 中被称为运算符,但在其他语言中被称为 splat 运算符。来自2014 年
LornaJane
关于该功能的博客文章:

此功能允许您为函数捕获可变数量的参数,如果您愿意,还可以结合传入的“正常”参数。举个例子最容易看出:

function concatenate($transform, ...$strings) {
  $string = '';
  foreach($strings as $piece) {
      $string .= $piece;
  }
  return($transform($string));    }

echo concatenate(“strtoupper”, “I’d”, “like”, 4 + 2, “apples”);

(这将打印I'D LIKE 6 APPLES

函数声明中的参数列表中包含...运算符,它基本上意味着“......并且其他所有内容都应该进入$strings”。您可以将 2
个或更多参数传递给此函数,第二个和后续参数将添加到 $stringsarray中,以供使用。

2022-06-28