这样的数组 如何创建



如何把等于大分类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": "时尚居家"
}
]
},
{


------解决思路----------------------
//一级分类
$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] => 加绒加厚
)

)

)
......
登录后复制
太多了贴不下,意思到了

09-17 10:48