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

如何创建嵌套层级可动态配置且创建时赋值的嵌套数组?

动态生成多层嵌套数组的PHP实现

可以利用PHP的引用特性,实现根据指定列数组动态构建任意层级的嵌套数组,代码如下:

$data = // 从数据库获取的数据集合
$nested_array = [];
$counter = 0;
$columns_selected = ['a', 'b', 'c', 'd', 'e']; // 自定义的嵌套层级列数组

foreach ($data as $row) {
    // 初始化当前层级引用,指向根数组
    $current_level = &$nested_array;
    
    // 遍历选中列,逐层构建嵌套结构
    foreach ($columns_selected as $col) {
        $col_value = $row->$col;
        // 若当前层级无该值对应的数组,先初始化空数组
        if (!isset($current_level[$col_value])) {
            $current_level[$col_value] = [];
        }
        // 将引用切换到下一层级
        $current_level = &$current_level[$col_value];
    }
    
    // 在最内层设置id值
    $current_level['id'] = $counter++;
    // 释放引用,避免后续循环干扰
    unset($current_level);
}

代码说明

  • 通过引用$current_level追踪当前嵌套层级,无需手动硬编码每一层的数组访问
  • 遍历$columns_selected时自动创建对应层级的数组键,适配任意长度的列数组
  • 最后释放引用是关键操作,防止后续循环中引用指向错误的层级

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:10:33