请问如何将多维数组转换为二维数组?

比如无限级菜单,通过递归后是一个多维数组,我想把这个多维数组转换为二维数组并重新排序后进行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个数组建二维,请教怎么将多维数组转换为二维数组相关推荐

  1. 将字符串转换为数组_LeetCode 树 108.将有序数组转换为二叉搜索树

    7(108) 将有序数组转换为二叉搜索树 描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 ...

  2. arange()用于生成一维数组 reshape()将一维数组转换为多维数组

    arange()用于生成一维数组  reshape()将一维数组转换为多维数组 import numpy as npprint('默认一维为数组:', np.arange(5)) print('自定义 ...

  3. 数据结构与算法--力扣108题将有序数组转换为二叉搜索树

    力扣108提将有序数组转换为二叉搜索树 近一年都比较关注算法相关的知识,也刷了不少题,之前的文章中大多也是算法相关的文章,但是感觉每次遇到树相关的题型都不能应对自如,因此还是有必要在相关知识上下功夫, ...

  4. [leetcode-108,109] 将有序数组转换为二叉搜索树

    109. 有序链表转换二叉搜索树 Given a singly linked list where elements are sorted in ascending order, convert it ...

  5. 20200703:将有序数组转换为二叉搜索树(leetcode108)

    将有序数组转换为二叉搜索树 题目 思路与算法 代码实现 复杂度分析 题目 将有序数组转换为二叉搜索树 思路与算法 乍一看很简单,实际也很简单,今天的动态规划没做出来,就刷每日一题好了.保证平衡的最简单 ...

  6. 20190917:(leetcode习题)将有序数组转换为二叉搜索树

    将有序数组转换为二叉搜索树 题目 大致思路 代码实现 题目 大致思路 将有序数组转换为二叉平衡树,即左边的数和右边数的差值不超过1,那么root节点应该为正中间的数,然后左边的剩余的中间为root.l ...

  7. laravel数组转换为字符串_LeetCode刷题实战108:将有序数组转换为二叉搜索树

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  8. Suzy找到实习了吗 Day23 | 二叉树最后一节!669. 修剪二叉搜索树,108. 将有序数组转换为二叉搜索树,538. 把二叉搜索树转换为累加树

    669. 修剪二叉搜索树 题目 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high.通过修剪二叉搜索树,使得所有节点的值在[low, high]中.修剪树 不应该 改变保 ...

  9. LeetCode(Python)—— 将有序数组转换为二叉搜索树(简单)

    将有序数组转换为二叉搜索树 概述:给你一个整数数组 nums ,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树.高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 ...

最新文章

  1. 作者解读ICML接收论文:如何使用不止一个数据集训练神经网络模型?
  2. apk可以解压再复制到手机吗_不行了,这个打通手机和电脑的神器,必须得安利给你们...
  3. source insight删除保存路径为中文的project工程项目报错的解决办法
  4. 牛客题霸 [矩阵的最小路径和] C++题解/答案
  5. C语言程序设计教程的读后感,《高质量c语言编程》读后感
  6. Cython 3.0 中文文档校对活动 | ApacheCN
  7. C#AutoResetEvent和ManualResetEvent的区别
  8. IntelliJ IDEA 新版本又来了,修复严重 bug!
  9. Atitit.各种 数据类型 ( 树形结构,表形数据 ) 的结构与存储数据库 attilax 总结
  10. 计算机设备管理中的其他设备,解决方法:计算机设备管理器中的“其他设备”驱动程序问题!...
  11. 人工智能、机器学习、神经网络及深度学习关系
  12. 音视频直播推流和拉流到底是什么意思?
  13. [模板] 球 体积交 体积并
  14. 为选区添加描边_ps怎么给选区加上虚线描边
  15. 计算机导论的平时分多少,2020级计算机导论
  16. react-navigation 6.x 学习(3)
  17. 移动宽带连接电信服务器不稳定,如何解决移动宽带网速不稳定的問題?
  18. python发邮件,添加附件
  19. 重装 Windows 系统后键乱码解决方案
  20. 一分钟实现动态模糊效果

热门文章

  1. vs2005's addin folder
  2. 交换排序 java_java实现交换排序
  3. Netty 框架学习(二):DelimiterBasedFrameDecoder和FixedLengthFrameDecoder
  4. spring boot基础配置
  5. typescript入门简明教程
  6. linux ssh客戶端:termius介绍及安装
  7. go支持对函数返回值命名,可以解决函数返回值的顺序书写问题
  8. Hadoop Yarn配置多队列的容量调度器案例
  9. 【收藏】Hadoop解决Could not locate executable null\bin\winutils.exe in the Hadoop binaries.问题
  10. 【原创视频】Docker总体架构设计及各模块原理剖析