Laravel 8 flatten() {#collection-method}

2021-07-19 09:37 更新

flatten 方法將多維集合轉(zhuǎn)為一維集合:

$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'],
    ]
*/ 

在這個(gè)例子里,調(diào)用 flatten 時(shí)不傳入深度參數(shù)的話也會(huì)將嵌套數(shù)組轉(zhuǎn)成一維的,然后返回 ['iPhone 6S', 'Apple', 'Galaxy S7', 'Samsung'] 。傳入深度參數(shù)能讓你限制設(shè)置返回?cái)?shù)組的層數(shù)。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)