1 回答
TA贡献1804条经验 获得超3个赞
首先,您需要flatten()方法将多维集合转换为单个维度,然后您需要countBy()方法计算集合中值的出现次数。
$data = [
[
'home' => 'Red',
'away' => 'Blue',
],
[
'home' => 'Orange',
'away' => 'Blue',
],
[
'home' => 'Cyan',
'away' => 'Blue',
],
[
'home' => 'Blue',
'away' => 'Orange',
],
];
$games = collect($data)
->flatten()
->countBy()
->all();
更新
countBy()Laravel 版本提供的方法5.8。如果你的 Laravel < 5.8,你可以试试这个:
$games = collect($data)
->flatten()
->groupBy(function ($value) {
return $value;
})
->map(function ($value) {
return $value->count();
})
->all();
- 1 回答
- 0 关注
- 153 浏览
添加回答
举报
