首页
下载
插件
案例
社区
文档
视频
资讯
关于
VEITOOL
联系方式
合作代理
插件协议
用户协议
登录
|
注册
全部
后端程序
前端模板
插件二开
综合求助
谈天说地
使用分享
安卓开发
关于array_merge_recursive的用法
发布:2022-11-21 11:26
分类:后端程序
评论:0
浏览:193
今天在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
安装veitool框架(phpStudy)
这种键值在SQL加了字段后 ,可以保存 ,怎么在编辑时,能正常显示出来呢?哪位大神给个实例模型php函数
没有前台模板的教程,有了后台,前台的模板怎么写,放在哪个目录?
踢掉某个在线用户
恭祝大家:新年快乐,吉祥如意,幸福安康!
队列任务管理插件开放下载使用
基于phpoffice的数据导入导出示例插件发布
关于系统
VEITOOL
联系方式
合作代理
服务支持
插件中心
官方文档
社区问答
下载中心
产品下载
应用案例
新闻动态
使用协议
插件协议
用户协议
关注微信
Copyright ©2024 veitool.com 版权所有
粤ICP备17132594号-2