这样的数组 如何创建

qq_22916833 2015-01-24 01:51:21



如何把等于大分类ID的对应小分类写入 subCats
array(
id=>"$Xhref.....",
name=>"$Xtext....",
)

$dafenleishu=count($Dhref);
$xiaofenleishu=count($Xhref);

for ($x=1;$x<=$dafenleishu-1;$x++) {
$cats[]=array(
id=>"$Dhref[$x]",
name=>"$Dtext[$x]",
subCats=>array()
);

}


$Dhref //大分类ID

$Dtext //大分类名称

$Xhref //小分类ID

$XID_D //小分类对应大分类ID

$Xtext //小分类名称


输出




大分类ID
array(14) { [0]=> string(9) "sidengny." [1]=> string(9) "907362758" [2]=> string(9) "907362759" [3]=> string(9) "907362764" [4]=> string(9) "907362775" [5]=> string(9) "907362795" [6]=> string(9) "907362787" [7]=> string(9) "907362784" [8]=> string(9) "907363605" [9]=> string(9) "907363606" [10]=> string(9) "907363607" [11]=> string(9) "907363608" [12]=> string(9) "907363609" [13]=> string(9) "100563948" }


大分类名称
array(14) { [0]=> string(8) "所有宝贝" [1]=> string(8) "新品专区" [2]=> string(8) "保暖上装" [3]=> string(8) "保暖套装" [4]=> string(6) "保暖裤" [5]=> string(8) "内裤系列" [6]=> string(8) "袜类专区" [7]=> string(8) "背心-T恤" [8]=> string(8) "运动文胸" [9]=> string(8) "清仓专区" [10]=> string(8) "男士专区" [11]=> string(8) "女士专区" [12]=> string(8) "送礼专区" [13]=> string(8) "推荐分类" }



小分类ID
array(37) { [0]=> string(9) "sidengny." [1]=> string(9) "sidengny." [2]=> string(9) "sidengny." [3]=> string(9) "sidengny." [4]=> string(9) "907362760" [5]=> string(9) "907362761" [6]=> string(9) "907362762" [7]=> string(9) "907362763" [8]=> string(9) "907362765" [9]=> string(9) "907362766" [10]=> string(9) "907362767" [11]=> string(9) "907362768" [12]=> string(9) "907362769" [13]=> string(9) "907362770" [14]=> string(9) "907362771" [15]=> string(9) "907362772" [16]=> string(9) "907419493" [17]=> string(9) "907362776" [18]=> string(9) "907362778" [19]=> string(9) "907362796" [20]=> string(9) "907362797" [21]=> string(9) "907362799" [22]=> string(9) "907363601" [23]=> string(9) "907363603" [24]=> string(9) "907363604" [25]=> string(9) "907362788" [26]=> string(9) "907362789" [27]=> string(9) "907362790" [28]=> string(9) "907362791" [29]=> string(9) "907362792" [30]=> string(9) "907362793" [31]=> string(9) "907362794" [32]=> string(9) "907362785" [33]=> string(9) "100563948" [34]=> string(9) "100563948" [35]=> string(9) "100563948" [36]=> string(9) "100563948" }

对应上级大分类ID
array(37) { [0]=> string(9) "engny.tma" [1]=> string(9) "engny.tma" [2]=> string(9) "engny.tma" [3]=> string(9) "engny.tma" [4]=> string(9) "907362759" [5]=> string(9) "907362759" [6]=> string(9) "907362759" [7]=> string(9) "907362759" [8]=> string(9) "907362764" [9]=> string(9) "907362764" [10]=> string(9) "907362764" [11]=> string(9) "907362764" [12]=> string(9) "907362764" [13]=> string(9) "907362764" [14]=> string(9) "907362764" [15]=> string(9) "907362764" [16]=> string(9) "907362764" [17]=> string(9) "907362775" [18]=> string(9) "907362775" [19]=> string(9) "907362795" [20]=> string(9) "907362795" [21]=> string(9) "907362795" [22]=> string(9) "907362795" [23]=> string(9) "907362795" [24]=> string(9) "907362795" [25]=> string(9) "907362787" [26]=> string(9) "907362787" [27]=> string(9) "907362787" [28]=> string(9) "907362787" [29]=> string(9) "907362787" [30]=> string(9) "907362787" [31]=> string(9) "907362787" [32]=> string(9) "907362784" [33]=> string(9) "100563948" [34]=> string(9) "100563948" [35]=> string(9) "100563948" [36]=> string(9) "100563948" }

小分类名称
array(37) { [0]=> string(6) "按综合" [1]=> string(6) "按销量" [2]=> string(6) "按新品" [3]=> string(6) "按价格" [4]=> string(16) "假两件(衬衫领)" [5]=> string(7) "V领上装" [6]=> string(8) "商务休闲" [7]=> string(8) "时尚居家" [8]=> string(8) "男士套装" [9]=> string(8) "女士套装" [10]=> string(12) "基础打底内衣" [11]=> string(8) "加绒加厚" [12]=> string(8) "全棉内衣" [13]=> string(8) "羊毛内衣" [14]=> string(8) "驼绒内衣" [15]=> string(8) "莱卡内衣" [16]=> string(6) "本命年" [17]=> string(10) "薄款打底裤" [18]=> string(8) "加绒加厚" [19]=> string(8) "男士内裤" [20]=> string(8) "女士内裤" [21]=> string(6) "平角裤" [22]=> string(8) "植物纤维" [23]=> string(6) "星期裤" [24]=> string(6) "礼盒装" [25]=> string(4) "棉袜" [26]=> string(4) "丝袜" [27]=> string(6) "全棉袜" [28]=> string(8) "精梳棉袜" [29]=> string(8) "春秋棉袜" [30]=> string(8) "夏季透气" [31]=> string(8) "冬季加厚" [32]=> string(12) "男士背心-T恤" [33]=> string(8) "热卖推荐" [34]=> string(8) "套装推荐" [35]=> string(10) "衬衫领推荐" [36]=> string(4) "内裤" }




最终目的是生成 json

"data": {
"cats": [
{
"id": "907362758",
"name": "新品专区",
"subCats": []
},
{
"id": "907362759",
"name": "保暖上装",
"subCats": [
{
"id": "907362760",
"name": "假两件(衬衫领)"
},
{
"id": "907362761",
"name": "V领上装"
},
{
"id": "907362762",
"name": "商务休闲"
},
{
"id": "907362763",
"name": "时尚居家"
}
]
},
{

...全文
148 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_22916833 2015-01-24
  • 打赏
  • 举报
回复
纠结了一下午的事情,让你俩行代码解决了 谢了
xuzuning 2015-01-24
  • 打赏
  • 举报
回复
//一级分类
$a = array (
  0 => 
  array (
    'id' => '907362758',
    'name' => '新品专区',
  ),
  1 => 
  array (
    'id' => '907362759',
    'name' => '保暖上装',
  ),
  2 => 
  array (
    'id' => '907362764',
    'name' => '保暖套装',
  ),
  3 => 
  array (
    'id' => '907362775',
    'name' => '保暖裤',
  ),
  4 => 
  array (
    'id' => '907362795',
    'name' => '内裤系列',
  ),
  5 => 
  array (
    'id' => '907362787',
    'name' => '袜类专区',
  ),
  6 => 
  array (
    'id' => '907362784',
    'name' => '背心-T恤',
  ),
  7 => 
  array (
    'id' => '907363605',
    'name' => '运动文胸',
  ),
  8 => 
  array (
    'id' => '907363606',
    'name' => '清仓专区',
  ),
  9 => 
  array (
    'id' => '907363607',
    'name' => '男士专区',
  ),
  10 => 
  array (
    'id' => '907363608',
    'name' => '女士专区',
  ),
  11 => 
  array (
    'id' => '907363609',
    'name' => '送礼专区',
  ),
  12 => 
  array (
    'id' => '100563948',
    'name' => '推荐分类',
  ),
);

//二级分类
$b = array (
  0 => 
  array (
    'id' => '907362760',
    'Did' => '907362759',
    'name' => '假两件(衬衫领)',
  ),
  1 => 
  array (
    'id' => '907362761',
    'Did' => '907362759',
    'name' => 'V领上装',
  ),
  2 => 
  array (
    'id' => '907362762',
    'Did' => '907362759',
    'name' => '商务休闲',
  ),
  3 => 
  array (
    'id' => '907362763',
    'Did' => '907362759',
    'name' => '时尚居家',
  ),
  4 => 
  array (
    'id' => '907362765',
    'Did' => '907362764',
    'name' => '男士套装',
  ),
  5 => 
  array (
    'id' => '907362766',
    'Did' => '907362764',
    'name' => '女士套装',
  ),
  6 => 
  array (
    'id' => '907362767',
    'Did' => '907362764',
    'name' => '基础打底内衣',
  ),
  7 => 
  array (
    'id' => '907362768',
    'Did' => '907362764',
    'name' => '加绒加厚',
  ),
  8 => 
  array (
    'id' => '907362769',
    'Did' => '907362764',
    'name' => '全棉内衣',
  ),
  9 => 
  array (
    'id' => '907362770',
    'Did' => '907362764',
    'name' => '羊毛内衣',
  ),
  10 => 
  array (
    'id' => '907362771',
    'Did' => '907362764',
    'name' => '驼绒内衣',
  ),
  11 => 
  array (
    'id' => '907362772',
    'Did' => '907362764',
    'name' => '莱卡内衣',
  ),
  12 => 
  array (
    'id' => '907419493',
    'Did' => '907362764',
    'name' => '本命年',
  ),
  13 => 
  array (
    'id' => '907362776',
    'Did' => '907362775',
    'name' => '薄款打底裤',
  ),
  14 => 
  array (
    'id' => '907362778',
    'Did' => '907362775',
    'name' => '加绒加厚',
  ),
  15 => 
  array (
    'id' => '907362796',
    'Did' => '907362795',
    'name' => '男士内裤',
  ),
  16 => 
  array (
    'id' => '907362797',
    'Did' => '907362795',
    'name' => '女士内裤',
  ),
  17 => 
  array (
    'id' => '907362799',
    'Did' => '907362795',
    'name' => '平角裤',
  ),
  18 => 
  array (
    'id' => '907363601',
    'Did' => '907362795',
    'name' => '植物纤维',
  ),
  19 => 
  array (
    'id' => '907363603',
    'Did' => '907362795',
    'name' => '星期裤',
  ),
  20 => 
  array (
    'id' => '907363604',
    'Did' => '907362795',
    'name' => '礼盒装',
  ),
  21 => 
  array (
    'id' => '907362788',
    'Did' => '907362787',
    'name' => '棉袜',
  ),
  22 => 
  array (
    'id' => '907362789',
    'Did' => '907362787',
    'name' => '丝袜',
  ),
  23 => 
  array (
    'id' => '907362790',
    'Did' => '907362787',
    'name' => '全棉袜',
  ),
  24 => 
  array (
    'id' => '907362791',
    'Did' => '907362787',
    'name' => '精梳棉袜',
  ),
  25 => 
  array (
    'id' => '907362792',
    'Did' => '907362787',
    'name' => '春秋棉袜',
  ),
  26 => 
  array (
    'id' => '907362793',
    'Did' => '907362787',
    'name' => '夏季透气',
  ),
  27 => 
  array (
    'id' => '907362794',
    'Did' => '907362787',
    'name' => '冬季加厚',
  ),
  28 => 
  array (
    'id' => '907362785',
    'Did' => '907362784',
    'name' => '男士背心-T恤',
  ),
  29 => 
  array (
    'id' => '100563948',
    'Did' => '100563948',
    'name' => '热卖推荐',
  ),
  30 => 
  array (
    'id' => '100563948',
    'Did' => '100563948',
    'name' => '套装推荐',
  ),
  31 => 
  array (
    'id' => '100563948',
    'Did' => '100563948',
    'name' => '衬衫领推荐',
  ),
  32 => 
  array (
    'id' => '100563948',
    'Did' => '100563948',
    'name' => '内裤',
  ),
);

//抄写并格式化一级分类 到 $res
foreach($a as $v) {
  $v['subCats'] = array();
  $res[$v['id']] = $v;
}

//遍历二级分类,填写到对应的一级分类中
foreach($b as $v) {
  $res[$v['Did']]['subCats'][] = $v;
}

print_r($res); //打印出来看看,你还有什么需求
Array
(
    [907362758] => Array
        (
            [id] => 907362758
            [name] => 新品专区
            [subCats] => Array
                (
                )

        )

    [907362759] => Array
        (
            [id] => 907362759
            [name] => 保暖上装
            [subCats] => Array
                (
                    [0] => Array
                        (
                            [id] => 907362760
                            [Did] => 907362759
                            [name] => 假两件(衬衫领)
                        )

                    [1] => Array
                        (
                            [id] => 907362761
                            [Did] => 907362759
                            [name] => V领上装
                        )

                    [2] => Array
                        (
                            [id] => 907362762
                            [Did] => 907362759
                            [name] => 商务休闲
                        )

                    [3] => Array
                        (
                            [id] => 907362763
                            [Did] => 907362759
                            [name] => 时尚居家
                        )

                )

        )

    [907362764] => Array
        (
            [id] => 907362764
            [name] => 保暖套装
            [subCats] => Array
                (
                    [0] => Array
                        (
                            [id] => 907362765
                            [Did] => 907362764
                            [name] => 男士套装
                        )

                    [1] => Array
                        (
                            [id] => 907362766
                            [Did] => 907362764
                            [name] => 女士套装
                        )

                    [2] => Array
                        (
                            [id] => 907362767
                            [Did] => 907362764
                            [name] => 基础打底内衣
                        )

                    [3] => Array
                        (
                            [id] => 907362768
                            [Did] => 907362764
                            [name] => 加绒加厚
                        )

                    [4] => Array
                        (
                            [id] => 907362769
                            [Did] => 907362764
                            [name] => 全棉内衣
                        )

                    [5] => Array
                        (
                            [id] => 907362770
                            [Did] => 907362764
                            [name] => 羊毛内衣
                        )

                    [6] => Array
                        (
                            [id] => 907362771
                            [Did] => 907362764
                            [name] => 驼绒内衣
                        )

                    [7] => Array
                        (
                            [id] => 907362772
                            [Did] => 907362764
                            [name] => 莱卡内衣
                        )

                    [8] => Array
                        (
                            [id] => 907419493
                            [Did] => 907362764
                            [name] => 本命年
                        )

                )

        )

    [907362775] => Array
        (
            [id] => 907362775
            [name] => 保暖裤
            [subCats] => Array
                (
                    [0] => Array
                        (
                            [id] => 907362776
                            [Did] => 907362775
                            [name] => 薄款打底裤
                        )

                    [1] => Array
                        (
                            [id] => 907362778
                            [Did] => 907362775
                            [name] => 加绒加厚
                        )

                )

        )
......
太多了贴不下,意思到了
qq_22916833 2015-01-24
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
参考 http://bbs.csdn.net/topics/370094009 如果你希望我们替你完成,那么请贴出原始数据的 var_export 的结果
没搞定大神求解决
qq_22916833 2015-01-24
  • 打赏
  • 举报
回复
一级分类


array (
  0 => 
  array (
    'id' => '907362758',
    'name' => '新品专区',
  ),
  1 => 
  array (
    'id' => '907362759',
    'name' => '保暖上装',
  ),
  2 => 
  array (
    'id' => '907362764',
    'name' => '保暖套装',
  ),
  3 => 
  array (
    'id' => '907362775',
    'name' => '保暖裤',
  ),
  4 => 
  array (
    'id' => '907362795',
    'name' => '内裤系列',
  ),
  5 => 
  array (
    'id' => '907362787',
    'name' => '袜类专区',
  ),
  6 => 
  array (
    'id' => '907362784',
    'name' => '背心-T恤',
  ),
  7 => 
  array (
    'id' => '907363605',
    'name' => '运动文胸',
  ),
  8 => 
  array (
    'id' => '907363606',
    'name' => '清仓专区',
  ),
  9 => 
  array (
    'id' => '907363607',
    'name' => '男士专区',
  ),
  10 => 
  array (
    'id' => '907363608',
    'name' => '女士专区',
  ),
  11 => 
  array (
    'id' => '907363609',
    'name' => '送礼专区',
  ),
  12 => 
  array (
    'id' => '100563948',
    'name' => '推荐分类',
  ),
)
二级分类



array (
  0 => 
  array (
    'id' => '907362760',
    'Did' => '907362759',
    'name' => '假两件(衬衫领)',
  ),
  1 => 
  array (
    'id' => '907362761',
    'Did' => '907362759',
    'name' => 'V领上装',
  ),
  2 => 
  array (
    'id' => '907362762',
    'Did' => '907362759',
    'name' => '商务休闲',
  ),
  3 => 
  array (
    'id' => '907362763',
    'Did' => '907362759',
    'name' => '时尚居家',
  ),
  4 => 
  array (
    'id' => '907362765',
    'Did' => '907362764',
    'name' => '男士套装',
  ),
  5 => 
  array (
    'id' => '907362766',
    'Did' => '907362764',
    'name' => '女士套装',
  ),
  6 => 
  array (
    'id' => '907362767',
    'Did' => '907362764',
    'name' => '基础打底内衣',
  ),
  7 => 
  array (
    'id' => '907362768',
    'Did' => '907362764',
    'name' => '加绒加厚',
  ),
  8 => 
  array (
    'id' => '907362769',
    'Did' => '907362764',
    'name' => '全棉内衣',
  ),
  9 => 
  array (
    'id' => '907362770',
    'Did' => '907362764',
    'name' => '羊毛内衣',
  ),
  10 => 
  array (
    'id' => '907362771',
    'Did' => '907362764',
    'name' => '驼绒内衣',
  ),
  11 => 
  array (
    'id' => '907362772',
    'Did' => '907362764',
    'name' => '莱卡内衣',
  ),
  12 => 
  array (
    'id' => '907419493',
    'Did' => '907362764',
    'name' => '本命年',
  ),
  13 => 
  array (
    'id' => '907362776',
    'Did' => '907362775',
    'name' => '薄款打底裤',
  ),
  14 => 
  array (
    'id' => '907362778',
    'Did' => '907362775',
    'name' => '加绒加厚',
  ),
  15 => 
  array (
    'id' => '907362796',
    'Did' => '907362795',
    'name' => '男士内裤',
  ),
  16 => 
  array (
    'id' => '907362797',
    'Did' => '907362795',
    'name' => '女士内裤',
  ),
  17 => 
  array (
    'id' => '907362799',
    'Did' => '907362795',
    'name' => '平角裤',
  ),
  18 => 
  array (
    'id' => '907363601',
    'Did' => '907362795',
    'name' => '植物纤维',
  ),
  19 => 
  array (
    'id' => '907363603',
    'Did' => '907362795',
    'name' => '星期裤',
  ),
  20 => 
  array (
    'id' => '907363604',
    'Did' => '907362795',
    'name' => '礼盒装',
  ),
  21 => 
  array (
    'id' => '907362788',
    'Did' => '907362787',
    'name' => '棉袜',
  ),
  22 => 
  array (
    'id' => '907362789',
    'Did' => '907362787',
    'name' => '丝袜',
  ),
  23 => 
  array (
    'id' => '907362790',
    'Did' => '907362787',
    'name' => '全棉袜',
  ),
  24 => 
  array (
    'id' => '907362791',
    'Did' => '907362787',
    'name' => '精梳棉袜',
  ),
  25 => 
  array (
    'id' => '907362792',
    'Did' => '907362787',
    'name' => '春秋棉袜',
  ),
  26 => 
  array (
    'id' => '907362793',
    'Did' => '907362787',
    'name' => '夏季透气',
  ),
  27 => 
  array (
    'id' => '907362794',
    'Did' => '907362787',
    'name' => '冬季加厚',
  ),
  28 => 
  array (
    'id' => '907362785',
    'Did' => '907362784',
    'name' => '男士背心-T恤',
  ),
  29 => 
  array (
    'id' => '100563948',
    'Did' => '100563948',
    'name' => '热卖推荐',
  ),
  30 => 
  array (
    'id' => '100563948',
    'Did' => '100563948',
    'name' => '套装推荐',
  ),
  31 => 
  array (
    'id' => '100563948',
    'Did' => '100563948',
    'name' => '衬衫领推荐',
  ),
  32 => 
  array (
    'id' => '100563948',
    'Did' => '100563948',
    'name' => '内裤',
  ),
)

qq_22916833 2015-01-24
  • 打赏
  • 举报
回复
谢大神 继续学习, 感觉那个是我需要的, 尽量自己解决 不行的话在发, 主要目的还是学
xuzuning 2015-01-24
  • 打赏
  • 举报
回复
参考 http://bbs.csdn.net/topics/370094009 如果你希望我们替你完成,那么请贴出原始数据的 var_export 的结果
qq_22916833 2015-01-24
  • 打赏
  • 举报
回复


for ($x=1;$x<=$dafenleishu-1;$x++) {
	for ($y=4;$y<=$xiaofenleishu-4;$y++) {
		
		if ($XID_D[$x]==$Dhref[$y]) {
			$cats[$x]=array(
							id=>"$Dhref[$x]",
							name=>"$Dtext[$x]",      				
							subCats=>$subCats[$y]= array(
									id=>"$Xhref[$y]",
									name=>"$Xtext[$y]",
			)
							 );
		}else{
			$cats[$x]=array(
					id=>"$Dhref[$x]",
					name=>"$Dtext[$x]",
					subCats=>$subCats[]= array()
			);
			
		}
		
      			
	}
}
这样好像也不行 求大神解答

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧