PHP の 3 つのドット (...) の意味は何ですか? 質問する

PHP の 3 つのドット (...) の意味は何ですか? 質問する

サーバーに 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、使用できるようになります。

おすすめ記事