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

PHP合并同键多值数组:将循环生成的数组重组为键值对应结构

解决方案

看起来你现在的问题是每次循环都在创建新的单元素数组,没法把同一键对应的多个值合并成一个子数组对吧?调整一下数组的赋值逻辑就能搞定:

// 先初始化一个空数组存最终结果
$array = [];

foreach ($difference AS $j) {
    $fv = $cate->getFilterValueByFeatureID($j);
    foreach ($fv AS $z) {
        // 把当前值追加到对应键的子数组里
        $array[$j][] = $z;
    }
}

// 循环结束后再输出完整结果
var_dump($array);

代码逻辑说明:

  • 先初始化$array = []作为最终容器;
  • $array[$j][] = $z是核心:如果$j还没在$array里,会自动创建这个键并初始化一个空数组,再把$z加进去;如果$j已经存在,就直接把$z追加到对应的子数组末尾;
  • 最后在循环外执行var_dump,就能得到你想要的结构:同一键对应一组值的嵌套数组。

运行后你会得到这样的输出:

array(2) {
  [6]=>
  array(2) {
    [0]=>
    int(15)
    [1]=>
    int(20)
  }
  [8]=>
  array(3) {
    [0]=>
    int(26)
    [1]=>
    int(27)
    [2]=>
    int(33)
  }
}

内容的提问来源于stack exchange,提问作者M.Aldein

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 03:48:31