2015-10-19 12 views
5

可能使用類似於array_pluck($array, 'users.*.id')的東西嗎?任何鍵上的Laravel`array_pluck`

想象一下,我有:

$array = [ 
    'users' => [ 
     [ 'id' => 1 ], 
     [ 'id' => 2 ], 
     [ 'id' => 3 ], 
    ] 
]; 

而且我希望得到[1, 2, 3]

我試過類似:users.*.id,users.idusers..id,但沒有任何工作。

+4

'array_pluck($ array ['users'],'id')'。該函數僅支持單維數組。 –

回答

4

使用array_pluck($array['users'], 'id')

該函數只支持的一維陣列。它將搜索與第二個參數相匹配的數組中的鍵;在你的情況下是'身份證'。您會注意到,您在示例中搜索的數組只有一個名爲users的密鑰,而沒有名稱爲id

使用$array['users']表示採集數組,然後在每個元素上找到名爲id的鍵。

1

您可以使用Laravel collections來實現這樣的功能。

$data = collect($array['users']); 
$ids = $data->pluck('id'); 
return $ids;