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

Laravel中如何在foreach循环中生成符合要求的嵌套数组

问题原因与修复方案

存在的错误

  • 没有做子数组打包:你在循环内直接把日期、1、2三个值逐个追加到$test根数组,每次循环新增3个顶层元素,3次循环后自然得到9个元素的一维扁平数组。
  • 条件判断逻辑错误:if ($number = 1)是赋值操作而非相等判断,执行后会永远返回true,如果是要判断$number是否等于1,应该使用==或===运算符。
  • 附加数值不匹配:目标结构中每个子数组的第三个元素是3,你当前代码写的是2。
  • 缺少外层items键封装:目标结构外层是包含items键的关联数组,你没有初始化这层结构。

修正后的代码

// 先初始化外层结构,包含items键
$test = [
    'items' => []
];

foreach ($Date['date'] as $item) {
    // 业务判断保留,注意使用相等判断运算符
    if ($number === 1) {
        // 先组装当前循环对应的子数组,再推入items数组中
        $test['items'][] = [
            $item,
            1,
            3
        ];
    }
}

执行上述代码后,$test的结构就和你预期的嵌套结构完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:36:04