【发布时间】:2011-05-24 22:53:26
【问题描述】:
我无法思考以下问题的逻辑:
我有以下数组(已被剪断,因为它更大)
Array
(
[0] => Array
(
[code] => LAD001
[whqc] => GEN
[stocktag] => NONE
[qty] => 54
)
[1] => Array
(
[code] => LAD001
[whqc] => GEN
[stocktag] => NONE
[qty] => 6
)
[2] => Array
(
[code] => LAD004
[whqc] => HOLD
[stocktag] => NONE
[qty] => 6
)
)
我基本上需要组合这个数组中的所有键,以便在代码、whqc 和 stocktag 相同的地方,将 qty 值加在一起。通过下面的示例,我需要以这个结尾:
Array
(
[0] => Array
(
[code] => LAD001
[whqc] => GEN
[stocktag] => NONE
[qty] => 60
)
[1] => Array
(
[code] => LAD004
[whqc] => HOLD
[stocktag] => NONE
[qty] => 6
)
)
由于数组的第一个和第二个键具有相同的代码,whqc 和 stocktag,因此数量已添加到一个键中。
有什么想法吗?
【问题讨论】:
-
为什么不在数据库中?
-
@Ignacio Vazquez-Abrams:OP 可能无法访问 SQL 数据库,或者使用可能是一次性的并且不保证这样的开销。在代码中做完全合理的事情。虽然显然如果数据来自数据库,带有
SUM()的GROUP BY子句会更可取。 -
这不在数据库中,因为它首先从电子表格中加载,然后在加载之前对数据进行处理。