php把400个数组建二维,请教怎么将多维数组转换为二维数组
请问如何将多维数组转换为二维数组?
比如无限级菜单,通过递归后是一个多维数组,我想把这个多维数组转换为二维数组并重新排序后进行foreach,请问这个function该如何写?
------解决方案--------------------
$a = array(
0=>array(
'categoryid'=>1,
'name'=>"AA1",
'parent'=>0,
'childs'=>array(
0=>array(
'categoryid'=>2,
'name'=>"BB1",
'parent'=>1,
'childs'=>array(
0=>array(
'categoryid'=>3,
'name'=>"CC",
'parent'=>2,
'childs'=>array(
0=>array(
'categoryid'=>4,
'name'=>"dd1",
'parent'=>3,
),
1=>array(
'categoryid'=>5,
'name'=>"dd2",
'parent'=>3,
),
),
),
),
),
1=>array(
'categoryid'=>6,
'name'=>"BB2",
'parent'=>1,
),
),
),
1=>array(
'categoryid'=>7,
'name'=>"AA2",
'parent'=>0,
)
);
function imp($tree, $children='childs') {
$imparr = array();
foreach($tree as $w) {
if(isset($w[$children])) {
$t = $w[$children];
unset($w[$children]);
$imparr[] = $w;
if(is_array($t)) $imparr = array_merge($imparr, imp($t, $children));
} else {
$imparr[] = $w;
}
}
return $imparr;
}
print_r(imp($a));Array
(
[0] => Array
(
[categoryid] => 1
[name] => AA1
[parent] => 0
)
[1] => Array
(
[categoryid] => 2
[name] => BB1
[parent] => 1
)
[2] => Array
(
[categoryid] => 3
[name] => CC
[parent] => 2
)
[3] => Array
(
[categoryid] => 4
[name] => dd1
[parent] => 3
)
[4] => Array
(
[categoryid] => 5
php把400个数组建二维,请教怎么将多维数组转换为二维数组相关推荐
- 将字符串转换为数组_LeetCode 树 108.将有序数组转换为二叉搜索树
7(108) 将有序数组转换为二叉搜索树 描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 ...
- arange()用于生成一维数组 reshape()将一维数组转换为多维数组
arange()用于生成一维数组 reshape()将一维数组转换为多维数组 import numpy as npprint('默认一维为数组:', np.arange(5)) print('自定义 ...
- 数据结构与算法--力扣108题将有序数组转换为二叉搜索树
力扣108提将有序数组转换为二叉搜索树 近一年都比较关注算法相关的知识,也刷了不少题,之前的文章中大多也是算法相关的文章,但是感觉每次遇到树相关的题型都不能应对自如,因此还是有必要在相关知识上下功夫, ...
- [leetcode-108,109] 将有序数组转换为二叉搜索树
109. 有序链表转换二叉搜索树 Given a singly linked list where elements are sorted in ascending order, convert it ...
- 20200703:将有序数组转换为二叉搜索树(leetcode108)
将有序数组转换为二叉搜索树 题目 思路与算法 代码实现 复杂度分析 题目 将有序数组转换为二叉搜索树 思路与算法 乍一看很简单,实际也很简单,今天的动态规划没做出来,就刷每日一题好了.保证平衡的最简单 ...
- 20190917:(leetcode习题)将有序数组转换为二叉搜索树
将有序数组转换为二叉搜索树 题目 大致思路 代码实现 题目 大致思路 将有序数组转换为二叉平衡树,即左边的数和右边数的差值不超过1,那么root节点应该为正中间的数,然后左边的剩余的中间为root.l ...
- laravel数组转换为字符串_LeetCode刷题实战108:将有序数组转换为二叉搜索树
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- Suzy找到实习了吗 Day23 | 二叉树最后一节!669. 修剪二叉搜索树,108. 将有序数组转换为二叉搜索树,538. 把二叉搜索树转换为累加树
669. 修剪二叉搜索树 题目 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high.通过修剪二叉搜索树,使得所有节点的值在[low, high]中.修剪树 不应该 改变保 ...
- LeetCode(Python)—— 将有序数组转换为二叉搜索树(简单)
将有序数组转换为二叉搜索树 概述:给你一个整数数组 nums ,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树.高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 ...
最新文章
- 作者解读ICML接收论文:如何使用不止一个数据集训练神经网络模型?
- apk可以解压再复制到手机吗_不行了,这个打通手机和电脑的神器,必须得安利给你们...
- source insight删除保存路径为中文的project工程项目报错的解决办法
- 牛客题霸 [矩阵的最小路径和] C++题解/答案
- C语言程序设计教程的读后感,《高质量c语言编程》读后感
- Cython 3.0 中文文档校对活动 | ApacheCN
- C#AutoResetEvent和ManualResetEvent的区别
- IntelliJ IDEA 新版本又来了,修复严重 bug!
- Atitit.各种 数据类型 ( 树形结构,表形数据 ) 的结构与存储数据库 attilax 总结
- 计算机设备管理中的其他设备,解决方法:计算机设备管理器中的“其他设备”驱动程序问题!...
- 人工智能、机器学习、神经网络及深度学习关系
- 音视频直播推流和拉流到底是什么意思?
- [模板] 球 体积交 体积并
- 为选区添加描边_ps怎么给选区加上虚线描边
- 计算机导论的平时分多少,2020级计算机导论
- react-navigation 6.x 学习(3)
- 移动宽带连接电信服务器不稳定,如何解决移动宽带网速不稳定的問題?
- python发邮件,添加附件
- 重装 Windows 系统后键乱码解决方案
- 一分钟实现动态模糊效果
热门文章
- vs2005's addin folder
- 交换排序 java_java实现交换排序
- Netty 框架学习(二):DelimiterBasedFrameDecoder和FixedLengthFrameDecoder
- spring boot基础配置
- typescript入门简明教程
- linux ssh客戶端:termius介绍及安装
- go支持对函数返回值命名,可以解决函数返回值的顺序书写问题
- Hadoop Yarn配置多队列的容量调度器案例
- 【收藏】Hadoop解决Could not locate executable null\bin\winutils.exe in the Hadoop binaries.问题
- 【原创视频】Docker总体架构设计及各模块原理剖析