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 一致,不支持字符串鍵。遇到字符串鍵後,將拋出可恢復的錯誤。

 

更多學習內容請訪問:

八重櫻:怎麼從一名碼農成爲架構師的必看知識點:目錄大全(不定期更新)​zhuanlan.zhihu.com圖標

以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了沒有方向感,不知道該從那裏入手去提升,對此我整理了一些資料,包括但不限於:分佈式架構、高可擴展、高性能、高併發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階乾貨需要的可以免費分享給大家,需要的可以加入我的官方羣點擊此處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章