如何把所有标签循环出来,最终模版的显示效果是“古风(159),改编(188) ”这种?谢谢

comic是漫画数据表中tags字段储存数组,也就是漫画标签。结构就是下面的这样

[
    "古风",
    "改编",
    "纯爱"
]

但是我有2w部漫画,想要最终的效果是 把所有标签循环出来;

最终效果是 古风(159),改编(188) 这类效果,起初我想到的是多对多 ,但是目前数据库里面已经有2w多数据,不可能重新清空在采集一遍;请问有什么好的方法吗?谢谢!

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案
$array = array(
    '古风',
    '改编',
    '纯爱',
    '武侠',
    '科幻',
    '纯爱',
    '武侠',
    '纯爱',
);

$ac=array_count_values($array);
var_dump($ac);

array (size=5)
  '古风' => int 1
  '改编' => int 1
  '纯爱' => int 3
  '武侠' => int 2
  '科幻' => int 1
4年前 评论
李小明 (楼主) 4年前
讨论数量: 3
Junwind

不清楚你是什么意思,标签是放在漫画表中?即一漫对多tags, 如果需求是取出所有不重复的标签列出,那就单独查询tags列,然后PHP做去重处理,最好加缓存;

如果标签是单独放在一个表中, 即 多漫多标签的话, 如果需求也是取出所有不重复标签列出, 那就直接查询标签的单独表,并去重处理,同样加缓存,或者做中间表

4年前 评论
李小明 (楼主) 4年前

取出所有的标签,然后合并,然后统计就行了,还是分表吧,后续方便做标签查找!话说2W条数据没多少,重新清洗一遍标签而已,又不是全部清空重新录入!

4年前 评论
happyqian_ah 4年前
李小明 (楼主) 4年前
$array = array(
    '古风',
    '改编',
    '纯爱',
    '武侠',
    '科幻',
    '纯爱',
    '武侠',
    '纯爱',
);

$ac=array_count_values($array);
var_dump($ac);

array (size=5)
  '古风' => int 1
  '改编' => int 1
  '纯爱' => int 3
  '武侠' => int 2
  '科幻' => int 1
4年前 评论
李小明 (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!