这是我的问题。我有一个具有不同深度的复杂多维数组。我尝试过的 Stackoverflow 上的所有内容都失败了。我尝试使用 array_push、array_merge、array_combined、foreach 等。我的代码是 BS。
您可以在此处找到该数组(其中的一部分(有 15k 条记录)。
我的目标是找到最后一个数组并添加一个额外的数组。
我在该多维数组中寻找的数组是:
[Branch] => Array
(
[Branchno] => 000
[Stockqty] => 1
[Saleprice] => 119.95
[Xprice] => 0
[Qprice] => 54.85
[NOS] => 0
)
当我找到这个数组时,我需要添加这个没有值的数组:
[Order] => Array
(
[Deliverydate] =>
[Orderqty] =>
)
在此之后,数组应如下所示:
[Branch] => Array
(
[Branchno] => 000
[Stockqty] => 1
[Saleprice] => 119.95
[Xprice] => 0
[Qprice] => 54.85
[NOS] => 0
[Order] => Array
(
[Deliverydate] =>
[Orderqty] =>
)
)
问题是:在那个数组中,我可以有一个像这样的子数组:
[Branch] => Array
(
[0] => Array
(
[Branchno] => 000
[Stockqty] => -4
[Saleprice] => 119.95
[Xprice] => 0
[Qprice] => 54.85
[NOS] => 0
)
[1] => Array
(
[Branchno] => 001
[Stockqty] => 4
[Saleprice] => 119.95
[Xprice] => 0
[Qprice] => 54.85
[NOS] => 0
)
)
我需要将相同的数组添加到这些数组中。因此,数组应如下所示:
[Branch] => Array
(
[0] => Array
(
[Branchno] => 000
[Stockqty] => -4
[Saleprice] => 119.95
[Xprice] => 0
[Qprice] => 54.85
[NOS] => 0
[Order] => Array
(
[Deliverydate] =>
[Orderqty] =>
)
)
[1] => Array
(
[Branchno] => 001
[Stockqty] => 4
[Saleprice] => 119.95
[Xprice] => 0
[Qprice] => 54.85
[NOS] => 0
[Order] => Array
(
[Deliverydate] =>
[Orderqty] =>
)
)
)
额外的问题是,其中一些数组可能有我想要添加的数组,填充数据,我需要跳过它。像这样:
[Branch] => Array
(
[Branchno] => 000
[Stockqty] => 1
[Saleprice] => 119.95
[Xprice] => 0
[Qprice] => 54.85
[NOS] => 0
[Order] => Array
(
[Deliverydate] => 20060911
[Orderqty] => 8
)
)
或者像这样:
[Branch] => Array
(
[0] => Array
(
[Branchno] => 000
[Stockqty] => -4
[Saleprice] => 119.95
[Xprice] => 0
[Qprice] => 54.85
[NOS] => 0
)
[1] => Array
(
[Branchno] => 001
[Stockqty] => 4
[Saleprice] => 119.95
[Xprice] => 0
[Qprice] => 54.85
[NOS] => 0
[Order] => Array
(
[Deliverydate] => 20060911
[Orderqty] => 8
)
)
)
基本上,(伪代码)我需要检查每个子数组(不知道有多深),检查 ORDER 数组是否存在(在 [NOS] 之后)
如果数组 Order 存在 = 否,则添加没有数据的数组
如果数组 Order 存在 = 是,查看 Order 数组是否有子数组,如果没有,跳过它(数据存在)
别的
如果 Order 数组存在 = 是,则遍历数组,跳过它(数据存在)
别的
添加没有数据的数组订单
我不知道如何到达最后一个要检查、添加或跳过的数组。