$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
[name] => dd2
[parent] => 3
) [5] => Array
(
[categoryid] => 6
[name] => BB2
[parent] => 1
) [6] => Array
(
[categoryid] => 7
[name] => AA2
[parent] => 0
))
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
[name] => dd2
[parent] => 3
) [5] => Array
(
[categoryid] => 6
[name] => BB2
[parent] => 1
) [6] => Array
(
[categoryid] => 7
[name] => AA2
[parent] => 0
))
请问大哥如果数组中没有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"
}
}
}
<?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);
?>