You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中合并多数组值提取主题唯一分类的代码问题排查

问题定位
  • 变量名冲突:循环外$array存储的是JSON解码后的全量数据,循环内部重新给$array赋值覆盖了原始数据,直接破坏了循环的数据源
  • array_push用法错误:array_push的第一个参数是要插入元素的目标数组,第二个是待插入的内容,你写反了两个参数的位置;且array_push返回值是数组新的长度,直接赋值给$categories会导致存储分类的数组被数字覆盖
  • 去重逻辑错误:当前仅对单个主题的分类做去重,没有对所有收集到的全局分类做去重,无法过滤不同主题之间的重复分类
  • 冗余代码:explode返回的本身就是索引数组,array_values调用无意义
正确实现代码
$json = $this->curl_get_marketplace_contents();
$origin_data = json_decode($json, true);
$categories = array();
foreach ($origin_data['themes'] as $theme) {
    // 拆分单主题分类并去除空格
    $theme_cats = array_map('trim', explode(",", $theme['categories']));
    // 合并到全局分类数组
    $categories = array_merge($categories, $theme_cats);
}
// 全局去重后重置索引
$categories = array_values(array_unique($categories));
return $categories;

执行后返回的结果为:
["Creative", "Portfolio", "One-Page", "Multipurpose", "Business", "Landing Page"]

内容的提问来源于stack exchange,提问作者Hans Desjarlais

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 11:18:00