配列式におけるスプレッド演算子のサポートに対する RFC の投票は、圧倒的に賛成です この機能を PHP 7.4 に追加します。
パラメータのアンパックに対する拡張演算子のサポートは PHP 5.6 で初めて存在し、この RFC は配列の使用を拡張し、拡張機能は Traversable 配列とオブジェクトをサポートできます。 RFC の基本的な例を次に示します:
$parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon'];
さらに例を示します:
$arr1 = [1, 2, 3]; $arr2 = [...$arr1]; // [1, 2, 3] $arr3 = [0, ...$arr1]; // [0, 1, 2, 3] $arr4 = array(...$arr1, ...$arr2, 111); // [1, 2, 3, 1, 2, 3, 111] $arr5 = [...$arr1, ...$arr1]; // [1, 2, 3, 1, 2, 3] function getArr() { return ['a', 'b']; } $arr6 = [...getArr(), 'c']; // ['a', 'b', 'c'] $arr7 = [...new ArrayIterator(['a', 'b', 'c'])]; // ['a', 'b', 'c'] function arrGen() { for($i = 11; $i < 15; $i++) { yield $i; } } $arr8 = [...arrGen()]; // [11, 12, 13, 14]
文字列キーはサポートされていないため、インデックス付き配列のみを使用できます。 RFC の作成者は、キーのサポートについて次のように述べています:
動作の一貫性を argument unpacking と保つため、文字列キーはサポートされていません。文字列キーが検出されると、回復可能なエラーがスローされます。
PHP 関連の技術記事の詳細については、PHP チュートリアル 列にアクセスして学習してください。
以上がPHP 7.4 の新しい構文: 配列スプレッド演算子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。