isset php 二维数组_PHP怎么将多维数组转换为二维数组?

ab1ce44694542763cc46c598ca1bada4.png

PHP将多维数组转换为二维数组的方法:<?php

$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;

}

var_dump(imp($a));

?>

输出:array (size=7)

0 =>

array (size=3)

'categoryid' => int 1

'name' => string 'AA1' (length=3)

'parent' => int 0

1 =>

array (size=3)

'categoryid' => int 2

'name' => string 'BB1' (length=3)

'parent' => int 1

2 =>

array (size=3)

'categoryid' => int 3

'name' => string 'CC' (length=2)

'parent' => int 2

3 =>

array (size=3)

'categoryid' => int 4

'name' => string 'dd1' (length=3)

'parent' => int 3

4 =>

array (size=3)

'categoryid' => int 5

'name' => string 'dd2' (length=3)

'parent' => int 3

5 =>

array (size=3)

'categoryid' => int 6

'name' => string 'BB2' (length=3)

'parent' => int 1

6 =>

array (size=3)

'categoryid' => int 7

'name' => string 'AA2' (length=3)

'parent' => int 0

更多相关知识,请访问 PHP中文网!!

相关标签:PHP 数组

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值