Is possible use something like array_pluck($array, 'users.*.id')?
Imagine that I have:
$array = [
'users' => [
[ 'id' => 1 ],
[ 'id' => 2 ],
[ 'id' => 3 ],
]
];
And I want get [1, 2, 3].
I tried something like: users.*.id, users.id and users..id, but nothing worked.
Advertisement
Answer
From Laravel 5.7, you may use the Arr::pluck() helper.
use IlluminateSupportArr; Arr::pluck($array['users'], 'id')
Use array_pluck($array['users'], 'id')
The function only supports a single dimensional array. It will search for keys in the array which match the second parameter; which in your case is ‘id’. You’ll note that the array you’re searching in your examples only has a key named users and none with the name id.
Using $array['users'] means pluck looks through that array and subsequently finds keys named id on each element.