Laravel 8 flatten() {#collection-method}

2021-07-19 09:37 更新

flatten 方法將多維集合轉為一維集合:

$collection = collect(['name' => 'taylor', 'languages' => ['php', 'javascript']]);

$flattened = $collection->flatten();

$flattened->all();

// ['taylor', 'php', 'javascript']; 

你可以選擇性地傳入「深度」參數(shù):

$collection = collect([
    'Apple' => [
        ['name' => 'iPhone 6S', 'brand' => 'Apple'],
    ],
    'Samsung' => [
        ['name' => 'Galaxy S7', 'brand' => 'Samsung'],
    ],
]);

$products = $collection->flatten(1);

$products->values()->all();

/*
    [
        ['name' => 'iPhone 6S', 'brand' => 'Apple'],
        ['name' => 'Galaxy S7', 'brand' => 'Samsung'],
    ]
*/ 

在這個例子里,調用 flatten 時不傳入深度參數(shù)的話也會將嵌套數(shù)組轉成一維的,然后返回 ['iPhone 6S', 'Apple', 'Galaxy S7', 'Samsung'] 。傳入深度參數(shù)能讓你限制設置返回數(shù)組的層數(shù)。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號