【发布时间】:2012-06-11 18:58:48
【问题描述】:
我正在尝试按键组合数组。所以所有以相同子键开头的子数组都会合并为一个子数组。另外,我想保留匹配值的最小值。
目前这是我所拥有的:
$statement = Array
(
[662_0] => Array
(
[0] => 06-01-2012
[1] => 436
[2] => MEDIA
[3] => 2006
[4] => Template Testing
[5] => KS
[6] => 662
[7] => 0
[8] => 0
[9] => 0
[10] => 0
[11] => 0
[12] => 1290
[13] => 1290.00
[14] => 0.00
[15] => 0
[16] => 1290.00
)
[662_1] => Array
(
[0] => 06-01-2012
[1] => 436
[2] => MEDIA
[3] => 2006
[4] => Template Testing
[5] => KS
[6] => 662
[7] => 295.00
[8] => 0
[9] => 0
[10] => 0
[11] => 0
[12] => 995
[13] => 1290.00
[14] => 0.00
[15] => 0
[16] => 1290.00
)
[662_2] => Array
(
[0] => 06-01-2012
[1] => 436
[2] => MEDIA
[3] => 2006
[4] => Template Testing
[5] => KS
[6] => 662
[7] => 0
[8] => 0
[9] => 0
[10] => 0
[11] => 0
[12] => 1290
[13] => 1290.00
[14] => 0.00
[15] => 0
[16] => 1290.00
)
[663_0] => Array
(
blah blah blah...
)
);
这是我想要的:
$statement = Array
(
[662] => Array
(
[0] => 06-01-2012
[1] => 436
[2] => MEDIA
[3] => 2006
[4] => Template Testing
[5] => KS
[6] => 662
[7] => 295.00
[8] => 0
[9] => 0
[10] => 0
[11] => 0
[12] => 995
[13] => 1290.00
[14] => 0.00
[15] => 0
[16] => 1290.00
)
[663] => Array
(
blah blah blah...
)
);
很高兴在需要时提供更多信息!谢谢!!!
【问题讨论】:
-
为什么标记为mysql?数据是否来自 MySQL 查询?也许最简单的解决方案是从那一端改变它?
-
到目前为止,您尝试了哪些方法来对数组进行排序和合并并返回结果?
-
eggyal:是的,数据是从 MySQL 查询中填充的。我已经/正在努力改变这方面的方法。stackoverflow.com/questions/10983362/… Jrod:我尝试了 array_merge、array_multisort 以及与 implode 的组合,但无法获得所需的结果。我添加了任何有用的信息,但有很多这就是为什么我一开始没有把它全部倾倒。谢谢!
-
我假设你的键是用下划线分隔的?你说的最小值是什么意思?什么的最小值?
-
它们用下划线分隔。键的最小值。在我上面提供的示例中。数组[662_x]键[12]在每个数组中都有不同的值; 1290、995 和 1290。我希望新(合并)数组中的键 [12] 为 995,因为它是值中的最小值。
标签: php arrays multidimensional-array