【发布时间】:2013-07-10 05:24:08
【问题描述】:
看到下面的代码,当状态、编号、日期在多个记录中相同时,我想合并记录,并将不同的版本号合并为一个元素,在一个合并的数组元素中,希望我下面的示例更好地解释我追求的是什么。
我很难想出一种干净有效的方法来做到这一点。有谁能帮帮我吗?我无法针对这个问题指出类似的问题。
假设我有一个数组:
array (size=4)
995 =>
array (size=4)
'status' => string 'accept' (length=6)
'number' => string '130106' (length=6)
'date' => string 'July 11th, 2013' (length=15)
'version_number' => 1
996 =>
array (size=4)
'status' => string 'won' (length=3)
'number' => string '130106' (length=6)
'date' => string 'July 11th, 2013' (length=15)
'version_number' => null
993 =>
array (size=4)
'status' => string 'won' (length=3)
'number' => string '130106' (length=6)
'date' => string 'July 11th, 2013' (length=15)
'version_number' => null
992 =>
array (size=4)
'status' => string 'accept' (length=6)
'number' => string '130106' (length=6)
'date' => string 'July 11th, 2013' (length=15)
'version_number' => 3
想要的结果:
array (size=3)
0 =>
array (size=4)
'status' => string 'accept' (length=6)
'number' => string '130106' (length=6)
'date' => string 'July 11th, 2013' (length=15)
'version_number' => array (1, 3)
1 =>
array (size=4)
'status' => string 'won' (length=3)
'number' => string '130106' (length=6)
'date' => string 'July 11th, 2013' (length=15)
'version_number' => null
2 =>
array (size=4)
'status' => string 'won' (length=3)
'number' => string '130106' (length=6)
'date' => string 'July 11th, 2013' (length=15)
'version_number' => null
【问题讨论】:
-
“我很难想出一个干净有效的方法来做到这一点。”这意味着你已经尝试了一些东西。你能告诉我们你的尝试吗?
-
基本上是数组复制的大杂烩,对于每个数组,并手动构建新数组。我只是觉得有一些 php 数组排序功能必须有更好的方法。
标签: php sorting multidimensional-array merge associative-array