首页
下载
插件
社区
教程
开发文档
视频教程
资讯
资讯动态
应用案例
关于
VEITOOL
联系方式
合作代理
插件协议
用户协议
捐赠
登录
|
注册
全部
后端程序
前端模板
插件二开
综合求助
谈天说地
使用分享
安卓开发
关于array_merge_recursive的用法
发布:2022-11-21 11:26
分类:后端程序
评论:0
浏览:330
今天在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,可找遍了也没有这版本
求安装在子目录教程
phpspreadsheet+mpdf实现导出PDF
闲话一些后台功能,给vei作者看的
uniapp的移动端,请求官方出个呀
队列任务管理插件开放下载使用
安装veitool框架(phpStudy)
框架东西是好东西,可惜生态圈不够
API接口安全性
关于系统
VEITOOL
联系方式
合作代理
服务支持
插件中心
官方文档
社区问答
下载中心
产品下载
应用案例
新闻动态
使用协议
插件协议
用户协议
关注微信
Copyright ©2025 veitool.com 版权所有
粤ICP备17132594号-2