我有一个从larvel sql查询中检索到的对象数组:
$c=[{hashtag_id: 5}, {hashtag_id: 5}, {hashtag_id: 13}, {hashtag_id: 2}, {hashtag_id: 13},…]
0: {hashtag_id: 5}
1: {hashtag_id: 5}
2: {hashtag_id: 13}
3: {hashtag_id: 2}
4: {hashtag_id: 13}
5: {hashtag_id: 5}
6: {hashtag_id: 13}
7: {hashtag_id: 5}
8: {hashtag_id: 12}
9: {hashtag_id: 13}
10: {hashtag_id: 2}
11: {hashtag_id: 12}
12: {hashtag_id: 13}
13: {hashtag_id: 5}
14: {hashtag_id: 12}
15: {hashtag_id: 13}
我正在尝试对数组进行计数,并对每个hashtag_id进行计数。
预期输出:
hashtag_id: 2 {2};
hashtag_id: 5 {5};
hashtag_id: 12 {3};
hashtag_id:13 {6};
或 预期输出:
hashtag_id: 2 count: 2;
hashtag_id: 5 count: 5;
hashtag_id:12 count: 3;
hashtag_id:13 count: 5;
什么是最好的方法?
我的代码:
for($j=0;$j<count($result2);$j++){
$all2 = HashtagFollow::select('hashtag_id')->where('user_id', $result2[$j]->user_id)->whereNotIn('hashtag_id', $all)->orderBy('hashtag_id')->get();
array_push($c, $all2);
}
$c1 = array_flatten($c);
$d = (array_count_values(array_column($c1, 'hashtag_id')));
return ($d);