【发布时间】:2020-08-23 16:10:49
【问题描述】:
我有这个数组:
Array
(
[0] => Array
(
[0] => Array
(
[id] => 1
[rawMaterialName] => Item1
[rawMaterialQuantity] => 560
[rawMaterialPrice] => 1250.00
[rawMaterialDate] => 2020-05-03
[rawMaterialDocument] => AA-00000001
)
[1] => Array
(
[id] => 2
[rawMaterialName] => Item2
[rawMaterialQuantity] => 19
[rawMaterialPrice] => 250.00
[rawMaterialDate] => 2020-05-04
[rawMaterialDocument] => AA-00000002
)
[2] => Array
(
[id] => 3
[rawMaterialName] => Item3
[rawMaterialQuantity] => 260
[rawMaterialPrice] => 870.00
[rawMaterialDate] => 2020-05-05
[rawMaterialDocument] => AA-00000003
)
[3] => Array
(
[id] => 4
[rawMaterialName] => Item2
[rawMaterialQuantity] => 43
[rawMaterialPrice] => 480.00
[rawMaterialDate] => 2020-05-06
[rawMaterialDocument] => AA-00000004
)
[4] => Array
(
[id] => 5
[rawMaterialName] => Item3
[rawMaterialQuantity] => 310
[rawMaterialPrice] => 5100.00
[rawMaterialDate] => 2020-05-07
[rawMaterialDocument] => AA-00000005
)
[5] => Array
(
[id] => 6
[rawMaterialName] => Item1
[rawMaterialQuantity] => 14
[rawMaterialPrice] => 830.00
[rawMaterialDate] => 2020-05-08
[rawMaterialDocument] => AA-00000006
)
)
)
如果rawMaterialName 键值匹配,我需要使用相同的键对值进行分组。希望得到这个结果:
Array
(
[0] => Array
(
[0] => Array
(
[id] => Array
(
[0] => 1
[1] => 6
)
[rawMaterialName] => Item1
[rawMaterialQuantity] => Array
(
[0] => 560
[1] => 14
)
[rawMaterialPrice] => Array
(
[0] => 1250.00
[1] => 830.00
[rawMaterialDate] => Array
(
[0] => 2020-05-03
[1] => 2020-05-08
[rawMaterialDocument] => Array
(
[0] => AA-00000001
[1] => AA-00000006
)
[1] => Array
(
[id] => Array
(
[0] => 2
[1] => 4
)
[rawMaterialName] => Item2
[rawMaterialQuantity] => Array
(
[0] => 19
[1] => 43
)
[rawMaterialPrice] => Array
(
[0] => 250.00
[1] => 480.00
)
[rawMaterialDate] => Array
(
[0] => 2020-05-04
[1] => 2020-05-06
[rawMaterialDocument] => Array
(
[0] => AA-00000002
[1] => AA-00000004
)
)
[2] => Array
(
[id] => Array
(
[0] => 3
[1] => 5
)
[rawMaterialName] => Item3
[rawMaterialQuantity] => Array
(
[0] => 260
[1] => 310
)
[rawMaterialPrice] => Array
(
[0] => 870.00
[1] => 5100.00
)
[rawMaterialDate] => Array
(
[0] => 2020-05-05
[1] => 2020-05-07
)
[rawMaterialDocument] => Array
(
[0] => AA-00000003
[1] => AA-00000005
)
)
)
)
我不知道如何得到这个结果。有什么想法吗?
【问题讨论】:
-
看起来您需要遍历第一个数组,创建一个按材质名称索引的输出数组,并将数据添加到适当的数组槽中。尝试将任何尝试的代码添加到您遇到的问题中。
-
将尝试采用这种方式。
标签: php arrays join merge match