如何在保留值的同時獲取數組項的出現次數。例如:$items = [{code: "2132", tile:"Mechanical Engineers"}, {code: "2134" title: "Chemical engineers"}, {code: :2132, title: "Mechanical Engineers}]我想實現的是如下內容:$sortedItems = [{code: "2134" title: "Chemical engineers", count:1}, {code: "2132" title: "Chemical engineers", count:2}]我正在使用Larave,并希望通過使用PHP數組甚至Laravel集合來獲得它。以哪個效果更好。感謝您的幫助,因為我真的被困在這里,不知道如何繼續。
1 回答

慕慕森
TA貢獻1856條經驗 獲得超17個贊
使用集合和:groupBymap
$items = '[{"code": "2132", "title":"Mechanical Engineers"},
{"code": "2134", "title":"Chemical engineers"},
{"code":"2132", "title":"Mechanical Engineers"}]';
$array = json_decode($items, true);
// try this:
$arr = collect($array)->groupBy('code')->map(function($item) {
return array_merge($item->first(), array("count" => $item->count()));
})->all();
array_values($arr);
- 1 回答
- 0 關注
- 99 瀏覽
添加回答
舉報
0/150
提交
取消