【发布时间】:2014-04-26 02:42:42
【问题描述】:
我在 PHP 中有这些数组:
Array1
(
[0] => stdClass Object
(
[expense_id] => 475
[expense_name] => DRAY
[expense_unit_cost] => 270.00
)
[1] => stdClass Object
(
[expense_id] => 476
[expense_name] => FUEL
[expense_unit_cost] => 32.40
)
)
和
Array2
(
[0] => stdClass Object
(
[waybill_id] => 20005044
[expense_id] => 475
[tax_select] => tax1
[tax_id] => 1
[tax_name] => GST 5%
[tax_no] =>
[tax_value] => 13.5000
)
[1] => stdClass Object
(
[waybill_id] => 20005044
[expense_id] => 475
[tax_select] => tax2
[tax_id] => 2
[tax_name] => QST 9.975%
[tax_no] =>
[tax_value] => 26.9325
)
[2] => stdClass Object
(
[waybill_id] => 20005044
[expense_id] => 476
[tax_select] => tax1
[tax_id] => 1
[tax_name] => GST 5%
[tax_no] =>
[tax_value] => 1.6200
)
[3] => stdClass Object
(
[waybill_id] => 20005044
[expense_id] => 476
[tax_select] => tax2
[tax_id] => 2
[tax_name] => QST 9.975%
[tax_no] =>
[tax_value] => 3.2319
)
)
我需要使用费用 ID 组合 2 个数组,结果必须如下所示:
Array3
(
[0] => stdClass Object
(
[expense_id] => 475
[expense_name] => DRAY
[expense_unit_cost] => 270.00
[expense_taxes] => Array
(
[0] => stdClass Object
(
[waybill_id] => 20005044
[expense_id] => 475
[tax_select] => tax1
[tax_id] => 1
[tax_name] => GST 5%
[tax_no] =>
[tax_value] => 13.5000
)
[1] => stdClass Object
(
[waybill_id] => 20005044
[expense_id] => 475
[tax_select] => tax2
[tax_id] => 2
[tax_name] => QST 9.975%
[tax_no] =>
[tax_value] => 26.9325
)
)
)
[1] => stdClass Object
(
[expense_id] => 476
[expense_name] => FUEL
[expense_unit_cost] => 32.40
[expense_taxes] => Array
(
[0] => stdClass Object
(
[waybill_id] => 20005044
[expense_id] => 476
[tax_select] => tax1
[tax_id] => 1
[tax_name] => GST 5%
[tax_no] =>
[tax_value] => 1.6200
)
[1] => stdClass Object
(
[waybill_id] => 20005044
[expense_id] => 476
[tax_select] => tax2
[tax_id] => 2
[tax_name] => QST 9.975%
[tax_no] =>
[tax_value] => 3.2319
)
)
)
)
如您所见,我在两个数组上都有 expense_id,它需要成为最终 Array3 的关键
我尝试循环一个数组并检查费用 ID 键匹配,但我无法实现我的最终数组。 此外,我还查看了 array_merge、array_map 和 array_intersect。
感谢您的建议。
【问题讨论】:
-
我认为循环可以解决这个问题,你能把你的代码贴在这里吗,也许有一个错误。
-
代码要复杂得多,贴在这里。谢谢。
标签: php arrays array-merge