dongqiang5932 2018-09-12 08:28
浏览 228

如何使用递归修改数组

I have array

$arr = ['one', 'two', 'free'];
$value = 10;

Need use recursion function.

So I wanna get array like this

$result = ['one' => ['two' => ['free' => 10]]];
  • 写回答

2条回答 默认 最新

  • duan62819774 2018-09-12 08:38
    关注

    You can loop the array in reverse and build the array from the furthest nested value and back.

    $arr = ['one', 'two', 'free'];
    $value = 10;
    
    $arr = array_reverse($arr);
    
    foreach($arr as $key => $val){
        if($key==0){
            $new[$val]= $value;
        }else{
            $new = [$val => $new]; //this overwrites the array with a new array with another layer
        }
    }
    
    var_dump($new);
    

    https://3v4l.org/VRJOY

    评论

报告相同问题?

悬赏问题

  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元