这样的数组 如何创建
程序员文章站
2022-06-03 21:34:09
...
如何把等于大分类ID的对应小分类写入 subCats
array(
id=>"$Xhref.....",
name=>"$Xtext....",
)
$dafenleishu=count($Dhref);
$xiaofenleishu=count($Xhref);
for ($x=1;$x $cats[]=array(
id=>"$Dhref[$x]",
name=>"$Dtext[$x]",
subCats=>array()
);
}
$Dhref //大分类ID
$Dtext //大分类名称
$Xhref //小分类ID
$XID_D //小分类对应大分类ID
$Xtext //小分类名称
输出
最终目的是生成 json
"data": {
"cats": [
{
"id": "907362758",
"name": "新品专区",
"subCats": []
},
{
"id": "907362759",
"name": "保暖上装",
"subCats": [
{
"id": "907362760",
"name": "假两件(衬衫领)"
},
{
"id": "907362761",
"name": "V领上装"
},
{
"id": "907362762",
"name": "商务休闲"
},
{
"id": "907362763",
"name": "时尚居家"
}
]
},
{
这样好像也不行 求大神解答
二级分类
没搞定大神求解决
array(
id=>"$Xhref.....",
name=>"$Xtext....",
)
$dafenleishu=count($Dhref);
$xiaofenleishu=count($Xhref);
for ($x=1;$x $cats[]=array(
id=>"$Dhref[$x]",
name=>"$Dtext[$x]",
subCats=>array()
);
}
$Dhref //大分类ID
$Dtext //大分类名称
$Xhref //小分类ID
$XID_D //小分类对应大分类ID
$Xtext //小分类名称
输出
大分类IDarray(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) "推荐分类" } 小分类IDarray(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" } 对应上级大分类IDarray(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": "时尚居家"
}
]
},
{
回复讨论(解决方案)
for ($x=1;$x"$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() ); } }}
这样好像也不行 求大神解答
参考 http://bbs.csdn.net/topics/370094009
如果你希望我们替你完成,那么请贴出原始数据的 var_export 的结果
谢大神 继续学习, 感觉那个是我需要的, 尽量自己解决 不行的话在发, 主要目的还是学
一级分类
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' => '内裤', ),)
参考 http://bbs.csdn.net/topics/370094009
如果你希望我们替你完成,那么请贴出原始数据的 var_export 的结果
没搞定大神求解决
//一级分类$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' => '内裤', ),);//抄写并格式化一级分类 到 $resforeach($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] => 加绒加厚 ) ) )......太多了贴不下,意思到了
纠结了一下午的事情,让你俩行代码解决了
谢了