首頁  >  文章  >  後端開發  >  PHP 7.4 新語法:陣列延展操作符

PHP 7.4 新語法:陣列延展操作符

步履不停
步履不停原創
2019-06-21 15:33:345309瀏覽

PHP 7.4 新語法:陣列延展操作符

在陣列表達式中對展開運算元(Spread Operator)支援的 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn