你好我想生成类似n级别的wordpress类别树。这是我的例子数组。如何在codeigniter中生成类别树?`
$arreay = Array
(
[0] => stdClass Object
(
[Id] => 12877
[CoaName] => Ordinary Income/Expense
[CompId] => 1
[ParentCat] => 0
[Auto] => 0
[flgActive] => 1
)
[1] => stdClass Object
(
[Id] => 12878
[CoaName] => Income
[CompId] => 1
[ParentCat] => 0
[Auto] => 1
[flgActive] => 1
)
[2] => stdClass Object
(
[CoaName] => I · ROOM REVENUE
[ParentCat] => 1
[Auto] => 23
[flgActive] => 1
)
[3] => stdClass Object
(
[CoaName] => 400000 · ROOM REVENUE
[ParentCat] => 23
[Auto] => 24
[flgActive] => 1
)
[4] => stdClass Object
(
[CoaName] => 410101 · Net Room Revenue Taxable
[ParentCat] => 24
[Auto] => 27
[flgActive] => 1
)
[5] => stdClass Object
(
[CoaName] => 415101 · GTD No Show
[ParentCat] => 24
[Auto] => 32
[flgActive] => 1
)
[6] => stdClass Object
(
[CoaName] => Total 400000 · ROOM REVENUE
[ParentCat] => 23
[Auto] => 35
[flgActive] => 1
)
[7] => stdClass Object
(
[CoaName] => Total I · ROOM REVENUE
[ParentCat] => 1
[Auto] => 37
[flgActive] => 1
)
[8] => stdClass Object
(
[CoaName] => II · OTHER OPERATING REVENUE
[ParentCat] => 1
[Auto] => 38
[flgActive] => 1
)
[9] => stdClass Object
(
[CoaName] => 480000 · OTHER INCOME
[ParentCat] => 38
[Auto] => 39
[flgActive] => 1
)
[10] => stdClass Object
(
[CoaName] => 480380 · Interest Income
[ParentCat] => 39
[Auto] => 49
[flgActive] => 1
)
[11] => stdClass Object
(
[CoaName] => 480383 · Guest Laundry
[ParentCat] => 39
[Auto] => 51
[flgActive] => 1
)
[12] => stdClass Object
(
[CoaName] => 480385 · Vending
[ParentCat] => 39
[Auto] => 53
[flgActive] => 1
)
[13] => stdClass Object
(
[CoaName] => 480389 · Miscellaneous
[ParentCat] => 39
[Auto] => 54
[flgActive] => 1
)
[14] => stdClass Object
(
[CoaName] => 480390 · Pet Fees
[ParentCat] => 39
[Auto] => 55
[flgActive] => 1
)
[15] => stdClass Object
(
[CoaName] => 482000 · Sales Tax Discounts
[ParentCat] => 39
[Auto] => 70
[flgActive] => 1
)
[16] => stdClass Object
(
[CoaName] => Total 480000 · OTHER INCOME
[ParentCat] => 38
[Auto] => 75
[flgActive] => 1
)
[17] => stdClass Object
(
[CoaName] => Total II · OTHER OPERATING REVENUE
[ParentCat] => 1
[Auto] => 77
[flgActive] => 1
)
[18] => stdClass Object
(
[Id] => 12955
[CoaName] => Total Income
[CompId] => 1
[ParentCat] => 0
[Auto] => 78
[flgActive] => 1
)
[19] => stdClass Object
(
[Id] => 12956
[CoaName] => Cost of Goods Sold
[CompId] => 1
[ParentCat] => 0
[Auto] => 79
[flgActive] => 1
)
[20] => stdClass Object
(
[CoaName] => COST OF OTHER OPERATING SALES
[ParentCat] => 79
[Auto] => 80
[flgActive] => 1
)
[21] => stdClass Object
(
[Id] => 12968
[CoaName] => Gross Profit
[CompId] => 1
[ParentCat] => 0
[Auto] => 91
[flgActive] => 1
)
[22] => stdClass Object
(
[Id] => 12969
[CoaName] => Expense
[CompId] => 1
[ParentCat] => 0
[Auto] => 92
[flgActive] => 1
)
[23] => stdClass Object
(
[CoaName] => 10 · ROOMS DEPARTMENT
[ParentCat] => 92
[Auto] => 98
[flgActive] => 1
)
[24] => stdClass Object
(
[CoaName] => 1015 · SALARY WAGES & BONUS
[ParentCat] => 98
[Auto] => 99
[flgActive] => 1
)
[25] => stdClass Object
(
[CoaName] => 101501 · Front Desk
[ParentCat] => 99
[Auto] => 101
[flgActive] => 1
)
[26] => stdClass Object
(
[CoaName] => 101503 · Housekeepers
[ParentCat] => 99
[Auto] => 103
[flgActive] => 1
)
[27] => stdClass Object
(
[CoaName] => 101504 · Laundry
[ParentCat] => 99
[Auto] => 104
[flgActive] => 1
)
[28] => stdClass Object
(
[CoaName] => 101505 · Hostess
[ParentCat] => 99
[Auto] => 105
[flgActive] => 1
)
[29] => stdClass Object
(
[CoaName] => 101506 · Contract Labor
[ParentCat] => 99
[Auto] => 106
[flgActive] => 1
)
[30] => stdClass Object
(
[CoaName] => 101507 · Bonuses & Incentives
[ParentCat] => 99
[Auto] => 107
[flgActive] => 1
)
[31] => stdClass Object
(
[CoaName] => 101508 · Housekeeping Supervisor
[ParentCat] => 99
[Auto] => 108
[flgActive] => 1
)
[32] => stdClass Object
(
[CoaName] => 6002 · SALARIES AND WAGES
[ParentCat] => 99
[Auto] => 109
[flgActive] => 1
)
[33] => stdClass ObjectI had a 800 elements in a array now i am trying to generates its paren
(
[CoaName] => Total 1015 · SALARY WAGES & BONUS
[ParentCat] => 98
[Auto] => 116
[flgActive] => 1
)
[34] => stdClass Object
(
[CoaName] => 1020 · PAYROLL RELATED EXPENSE
[ParentCat] => 98
[Auto] => 117
[flgActive] => 1
)
[35] => stdClass Object
(
[CoaName] => 102001 · Employee Medical
[ParentCat] => 117
[Auto] => 118
[flgActive] => 1
)
[36] => stdClass Object
(
[CoaName] => 102003 · Sick
[ParentCat] => 117
[Auto] => 120
[flgActive] => 1
)
[37] => stdClass Object
(
[CoaName] => 102004 · Vacation
[ParentCat] => 117
[Auto] => 121
[flgActive] => 1
)
[38] => stdClass Object
(
[CoaName] => 102005 · WORKERS COMP
[ParentCat] => 117
[Auto] => 122
[flgActive] => 1
)
[39] => stdClass Object
(
[CoaName] => Total 1020 · PAYROLL RELATED EXPENSE
[ParentCat] => 98
[Auto] => 141
[flgActive] => 1
)
[40] => stdClass Object
(
[CoaName] => 1030 · ROOM SUPPLIES
[ParentCat] => 98
[Auto] => 142
[flgActive] => 1
)
现在父类别和子类别关系在ParentCat字段和自动字段之间。
现在我不得不尝试此代码
foreach($tree as $el){
$thisref = &$refs->{$el->Auto};
foreach($el as $k => $v){
@$thisref->{$k} = $v;
}
if($el->ParentCat == 0){
$reportTree->{$el->Auto} = &$thisref;
}
else{
$refs->{$el->ParentCat}->children->{$el->Auto} = &$thisref;
}
$reportTree;
}
我有一个阵列中的元素800,并尝试以产生具有上面的代码树。 但单个一些元素插入数组100次。但它应该只插入一次。
父子关系 例如 这里我从数组中取2个元素。
[1] => stdClass Object
(
[Id] => 12878
[CoaName] => Income
[CompId] => 1
[ParentCat] => 0
[Auto] => 1
[flgActive] => 1
)
[2] => stdClass Object
(
[CoaName] => I · ROOM REVENUE
[ParentCat] => 1
[Auto] => 23
[flgActive] => 1
)
现在第二元件具有ParentCat值1和 第一元件具有自动1个所以第一个元素是第二元件的母体。 所以,你可以请建议我如何做到这一点。 感谢