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

PHP动态生成部门关联数组如何保持与原静态实现一致的键值对结构

问题原因

当前代码返回结构错误的核心原因是循环内赋值逻辑错误:每次向$dept_array追加独立的关联数组元素,最终生成索引数组嵌套关联数组的结构,不符合目标单层关联数组的要求。

修改后的代码

private function departmentArray($content=[])
{
    $depts = d::getAllMainDepartment();
  
    $dept_array = [];
    foreach ($depts as $dept) {
        // 直接将部门ID作为结果数组的键名赋值
        $dept_array[$dept->id] = $content;
    }
    
    return $dept_array;
}

改动说明

原代码$dept_array[] = array($dept->id => $content);的逻辑是每次新增一个索引下标,对应的值是[部门ID => 内容]的关联数组。修改后直接把部门ID作为结果数组的一级键名赋值内容,最终返回的结构就和原有静态实现完全一致,JSON序列化后也会生成你需要的对象格式而非数组格式。

内容的提问来源于stack exchange,提问作者Franz Justin Buenaventura

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:57:02