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.*.idusers.idusers..idのようなものを試しましたが、何も効果がありませんでした。

+4

'array_pluck($ array ['users']、 'id')'。この関数は、単一次元配列のみをサポートしています。 –

答えて

4

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

機能のみの単一次元配列をサポートしています。 2番目のパラメータと一致する配列内のキーを検索します。あなたの場合は「id」です。あなたの例で検索している配列には、usersという名前のキーだけがあり、名前はidでないことがわかります。

$array['users']を使用すると、その配列を突き抜けて、各要素にidという名前のキーが見つかることを意味します。

1

Laravel collectionsを使用すると、次のようなことが実現できます。

$data = collect($array['users']); 
$ids = $data->pluck('id'); 
return $ids; 
関連する問題