首页
下载
插件
案例
社区
文档
视频
资讯
关于
VEITOOL
联系方式
合作代理
插件协议
用户协议
登录
|
注册
全部
后端程序
前端模板
插件二开
综合求助
谈天说地
使用分享
安卓开发
关于array_merge_recursive的用法
发布:2022-11-21 11:26
分类:后端程序
评论:0
浏览:306
今天在STACK OVERFLOW看到个问题,需要将一数组结构改为另一结构,需求如下: 原数组: ``` js [ { "function_1": { "element": { "error": "0", "msg": "test" } } }, { "function_1": { "element_2": { "error": "0", "msg": "test" } } }, { "function_2": { "element": { "error": "0", "msg": "test" } } }, { "function_2": { "element_2": { "error": "0", "msg": "test" } } } ] ``` 改为: ``` js [ { "function_1": { "element": { "error": "0", "msg": "test" }, "element_2": { "error": "0", "msg": "test" } } }, { "function_2": { "element": { "error": "0", "msg": "test" }, "element_2": { "error": "0", "msg": "test" } } } ] ``` 我给的答案: ``` js function changeArr($data){ $box = $new = []; foreach ($data as $v){ $key = array_key_first($v); $i = count($box); if(in_array($key, $box)){ $keys = array_flip($box); $i = $keys[$key]; }else{ $box[] = $key; } $new[$i][$key] = isset($new[$i][$key]) ? array_merge($new[$i][$key], $v[$key]) : $v[$key]; } return $new; } ``` 结果后面有牛人提供了个更简洁的方法:array_merge_recursive来进行处理,如下: ``` js $merged = array_merge_recursive(...$array); //这里用到 array_merge_recursive 对二维度相同的键进行了组合,快捷 $result = []; foreach ($merged as $key => $data) { $result[] = [$key => $data]; } print_r($result); ```
array_merge_recursive
暂无回复!
登录后可回复
发布帖子
作者信息
fulang
等级:Lv2
积分:4628
这家伙很懒,什么都没写呢~
最近热帖
Veitool 2.0.1 版新增数据字典相关功能使用
求安装在子目录教程
我下载测试,是PHPSTUDY下测试,提示要求PHP8.1.0,可找遍了也没有这版本
闲话一些后台功能,给vei作者看的
uniapp的移动端,请求官方出个呀
队列任务管理插件开放下载使用
安装veitool框架(phpStudy)
API接口安全性
在线构建器,安装好后提示普通用户无使用次数。这个需要如何解决呢
没有前台模板的教程,有了后台,前台的模板怎么写,放在哪个目录?
关于系统
VEITOOL
联系方式
合作代理
服务支持
插件中心
官方文档
社区问答
下载中心
产品下载
应用案例
新闻动态
使用协议
插件协议
用户协议
关注微信
Copyright ©2024 veitool.com 版权所有
粤ICP备17132594号-2