2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 请问如何将多维数组转换为二维数组?

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

时间:2023-05-20 22:24:41

相关推荐

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

后端开发|php教程

换为,二维,多维,请问,数组

后端开发-php教程

比如无限级菜单,通过递归后是一个多维数组,我想把这个多维数组转换为二维数组并重新排序后进行foreach,请问这个function该如何写?

hidistro易分销系统 源码,vscode中emmet插件,ubuntu哪个版本最好用,tomcat启动顺序,火狐 sqlite,网页设计自学视频网站,dedecms5.7更新数据库archives表时出错请检查, 无法登录 mysql 服务器,js table分页插件,前端 大屏 框架图,网络爬虫软件哪个好用,php 多进程,seo工具下载,springboot区别,phpcms 标签生成静态页,一元夺宝网站源码,css3网页模板,ecshop模板错位,怎么登陆ftp后台中心,互联网页面设计模版,php mysql用户管理系统,php接收微信小程序lzw

回复讨论(解决方案)

php mysql 源码安装包下载,ubuntu不能识别光盘,谷歌搜索反爬虫,php回调函数返回的数据为空,seo指令口诀lzw

建议举例说明,这样清晰明了。

工作日志 php 源码,ubuntu上抓图工具,tomcat网页测试工具,夏季爬虫壁纸,php漏洞网站源码,seo外包首选E湖南岚鸿询 问lzw

$a = array( 0=>array( categoryid=>1, ame=>"AA1", parent=>0, childs=>array(0=>array( categoryid=>2, ame=>"BB1", parent=>1, childs=>array(0=>array( categoryid=>3, ame=>"CC", parent=>2, childs=>array( 0=>array(categoryid=>4, ame=>"dd1",parent=>3, ), 1=>array(categoryid=>5, ame=>"dd2",parent=>3, ), ),), ),),1=>array( categoryid=>6, ame=>"BB2", parent=>1,), ), ), 1=>array( categoryid=>7, ame=>"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 [name] => dd2 [parent] => 3 ) [5] => Array ( [categoryid] => 6 [name] => BB2 [parent] => 1 ) [6] => 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(

请问大哥如果数组中没有childs标识怎么办?

递归已经把我递乱了~~

我的数组:

array(2) { ["0childs"] => array(9) { ["cate_id"] => string(1) "5" ["cate_title"] => string(12) "古剑奇谭" ["cate_pid"] => string(1) "0" ["cate_type"] => string(7) "Article" ["cate_type2"] => NULL ["cate_sort"] => string(1) "1" ["0childs"] => array(6) {["cate_id"] => string(1) "7"["cate_title"] => string(12) "百里屠苏"["cate_pid"] => string(1) "5"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "2" } ["1childs"] => array(6) {["cate_id"] => string(1) "8"["cate_title"] => string(6) "晴雪"["cate_pid"] => string(1) "5"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "5" } ["2childs"] => array(6) {["cate_id"] => string(1) "9"["cate_title"] => string(6) "少恭"["cate_pid"] => string(1) "5"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "6" } } ["1childs"] => array(9) { ["cate_id"] => string(2) "10" ["cate_title"] => string(12) "天龙八部" ["cate_pid"] => string(1) "0" ["cate_type"] => string(7) "Article" ["cate_type2"] => NULL ["cate_sort"] => string(1) "2" ["0childs"] => array(6) {["cate_id"] => string(2) "11"["cate_title"] => string(6) "萧峰"["cate_pid"] => string(2) "10"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "2" } ["1childs"] => array(6) {["cate_id"] => string(2) "12"["cate_title"] => string(6) "虚竹"["cate_pid"] => string(2) "10"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "3" } ["2childs"] => array(6) {["cate_id"] => string(2) "13"["cate_title"] => string(9) "慕容复"["cate_pid"] => string(2) "10"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "4" } }}

我擦,楼上的写错了~~还不能删除。。。

下面这个是我现在的。

array(2) { [0] => array(9) { ["cate_id"] => string(1) "5" ["cate_title"] => string(12) "古剑奇谭" ["cate_pid"] => string(1) "0" ["cate_type"] => string(7) "Article" ["cate_type2"] => NULL ["cate_sort"] => string(1) "1" [0] => array(6) {["cate_id"] => string(1) "7"["cate_title"] => string(12) "百里屠苏"["cate_pid"] => string(1) "5"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "2" } [1] => array(6) {["cate_id"] => string(1) "8"["cate_title"] => string(6) "晴雪"["cate_pid"] => string(1) "5"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "5" } [2] => array(6) {["cate_id"] => string(1) "9"["cate_title"] => string(6) "少恭"["cate_pid"] => string(1) "5"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "6" } } [1] => array(9) { ["cate_id"] => string(2) "10" ["cate_title"] => string(12) "天龙八部" ["cate_pid"] => string(1) "0" ["cate_type"] => string(7) "Article" ["cate_type2"] => NULL ["cate_sort"] => string(1) "2" [0] => array(6) {["cate_id"] => string(2) "11"["cate_title"] => string(6) "萧峰"["cate_pid"] => string(2) "10"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "2" } [1] => array(6) {["cate_id"] => string(2) "12"["cate_title"] => string(6) "虚竹"["cate_pid"] => string(2) "10"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "3" } [2] => array(6) {["cate_id"] => string(2) "13"["cate_title"] => string(9) "慕容复"["cate_pid"] => string(2) "10"["cate_type"] => string(7) "Article"["cate_type2"] => NULL["cate_sort"] => string(1) "4" } }}

不一样是遍历吗?只是麻烦点,发现是数组就递归进入

如果想要具体代码,就请贴出 var_export 的结果

我只看看就可以了。

<?php

$a=array(

array(‘bbcc’,array(‘ddd’,’ccc’))

,’aaa’

);

class getOneAr{

var $b;

function getvalue($a){

foreach($a as $v){

if(is_array($v)){

$this->getvalue($v);

}else{

$this->b[]=$v;

}

}

return $this->b;

}

}

$c=new getOneAr();

$b=$c->getvalue($a);

var_dump($b);

?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。