[英]Laravel `array_pluck` on any key
有可能使用像array_pluck($array, 'users.*.id')
嗎?
想象一下,我有:
$array = [
'users' => [
[ 'id' => 1 ],
[ 'id' => 2 ],
[ 'id' => 3 ],
]
];
我想得到[1, 2, 3]
。
我嘗試過類似: users.*.id
, users.id
和users..id
,但沒有任何效果。
使用array_pluck($array['users'], 'id')
該函數僅支持單維數組。 它將搜索數組中與第二個參數匹配的鍵; 在你的情況下是'id'。 您會注意到,您在示例中搜索的數組只有一個名為users
的鍵,而沒有名為id
none。
使用$array['users']
意味着pluck查看該數組,然后在每個元素上找到名為id
鍵。
您可以使用Laravel集合來實現這樣的功能。
$data = collect($array['users']);
$ids = $data->pluck('id');
return $ids;
你應該使用https://laravel.com/docs/5.7/helpers#method-array-pluck 。
不要重新創建已存在的助手;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.