2015-10-19 16 views
5

Có thể sử dụng một cái gì đó như array_pluck($array, 'users.*.id')?Laravel `array_pluck` trên bất kỳ phím nào

Hãy tưởng tượng rằng tôi có:

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

Và tôi muốn có được [1, 2, 3].

Tôi đã thử một cái gì đó như: users.*.id, users.idusers..id, nhưng không có gì hiệu quả.

+4

'array_pluck ($ array ['users'], 'id')'. Hàm chỉ hỗ trợ một mảng thứ nguyên duy nhất. –

Trả lời

4

Sử dụng array_pluck($array['users'], 'id')

Chức năng chỉ hỗ trợ mảng đơn. Nó sẽ tìm kiếm các khóa trong mảng khớp với tham số thứ hai; mà trong trường hợp của bạn là 'id'. Bạn sẽ lưu ý rằng mảng bạn đang tìm kiếm trong ví dụ của mình chỉ có một khóa có tên là users và không có tên nào có tên id.

Sử dụng $array['users'] nghĩa là nhổ trông qua mảng đó và sau đó tìm các khóa có tên id trên mỗi phần tử.

1

Bạn có thể sử dụng Laravel collections để đạt được điều gì đó như thế này.

$data = collect($array['users']); 
$ids = $data->pluck('id'); 
return $ids; 
Các vấn đề liên quan