サーバーに Magento 2 をインストールしているときにエラーが発生しました。コードを調べたところ、3 つのドット ( ...
) があり、これがエラーの原因であることがわかりました。以下に見つけたコードを含めました。
return new $type(...array_values($args));
この演算子は何と呼ばれ、その目的は何ですか?
ベストアンサー1
...
これはPHP では文字通り演算子と呼ばれますが、他の言語ではスプラット演算子として知られています。この機能に関する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 つ以上の引数を渡すことができ、2 番目以降の引数は $strings に追加されarray
、使用できるようになります。