2
我有一个关联数组,基本上是一个模拟数据库的静态虚拟数据。我试图复制GROUPBY YEAR和TitleText在MySQL中所能做的事情,并且我可以使其在一个字段上工作 - 无论是TitleText还是YEAR使用array_reduce,但我无法弄清楚如何在两个字段上进行操作。我需要每个YEAR和TitleText组合的一行来总和单位。这里是数组:根据匹配的两个其他值(php)在多维关联数组中求和一个值
$monthly_sales = [
[
'XML_KEY' => '9992',
'MONTH' => get_relative_date(7)["Month"],
'YEAR' => get_relative_date(7)["Year"],
'TitleText' => '1984',
'units' => 15
], [
'XML_KEY' => '9990',
'MONTH' => get_relative_date(7)["Month"],
'YEAR' => get_relative_date(7)["Year"],
'TitleText' => 'Animal Farm',
'units' => 7
], [
'XML_KEY' => '9991',
'MONTH' => get_relative_date(7)["Month"],
'YEAR' => get_relative_date(7)["Year"],
'TitleText' => 'Keep the Aspidistra Flying',
'units' => 5
], [
'XML_KEY' => '9990',
'MONTH' => get_relative_date(6)["Month"],
'YEAR' => get_relative_date(6)["Year"],
'TitleText' => 'Animal Farm',
'units' => 6
], [
'XML_KEY' => '9991',
'MONTH' => get_relative_date(6)["Month"],
'YEAR' => get_relative_date(6)["Year"],
'TitleText' =>
'Keep the Aspidistra Flying',
'units' => 6
], [
'XML_KEY' => '9992',
'MONTH' => get_relative_date(6)["Month"],
'YEAR' => get_relative_date(6)["Year"],
'TitleText' => '1984',
'units' => 2
], [
'XML_KEY' => '9991',
'MONTH' => get_relative_date(5)["Month"],
'YEAR' => get_relative_date(5)["Year"],
'TitleText' => 'Keep the Aspidistra Flying',
'units' => 5
], [
'XML_KEY' => '9992',
'MONTH' => get_relative_date(5)["Month"],
'YEAR' => get_relative_date(5)["Year"],
'TitleText' => '1984',
'units' => 3
], [
'XML_KEY' => '9990',
'MONTH' => get_relative_date(5)["Month"],
'YEAR' => get_relative_date(5)["Year"],
'TitleText' => 'Animal Farm',
'units' => 3
], [
'XML_KEY' => '9990',
'MONTH' => get_relative_date(4)["Month"],
'YEAR' => get_relative_date(4)["Year"],
'TitleText' => 'Animal Farm',
'units' => 4
], [
'XML_KEY' => '9991',
'MONTH' => get_relative_date(4)["Month"],
'YEAR' => get_relative_date(4)["Year"],
'TitleText' => 'Keep the Aspidistra Flying',
'units' => 4
], [
'XML_KEY' => '9992',
'MONTH' => get_relative_date(4)["Month"],
'YEAR' => get_relative_date(4)["Year"],
'TitleText' => '1984',
'units' => 3
], [
'XML_KEY' => '9990',
'MONTH' => get_relative_date(3)["Month"],
'YEAR' => get_relative_date(3)["Year"],
'TitleText' => 'Animal Farm',
'units' => 10
], [
'XML_KEY' => '9992',
'MONTH' => get_relative_date(3)["Month"],
'YEAR' => get_relative_date(3)["Year"],
'TitleText' => '1984',
'units' => 4
], [
'XML_KEY' => '9991',
'MONTH' => get_relative_date(3)["Month"],
'YEAR' => get_relative_date(3)["Year"],
'TitleText' => 'Keep the Aspidistra Flying',
'units' => 1
], [
'XML_KEY' => '9990',
'MONTH' => get_relative_date(1)["Month"],
'YEAR' => get_relative_date(1)["Year"],
'TitleText' => 'Animal Farm',
'units' => 9
], [
'XML_KEY' => '9991',
'MONTH' => get_relative_date(1)["Month"],
'YEAR' => get_relative_date(1)["Year"],
'TitleText' => 'Keep the Aspidistra Flying',
'units' => 3
], [
'XML_KEY' => '9992',
'MONTH' => get_relative_date(1)["Month"],
'YEAR' => get_relative_date(1)["Year"],
'TitleText' => '1984',
'units' => 1
]
];
这里是我想达到的输出:
Array
(
[0] => Array
(
[YEAR] => 2014
[TitleText] => 1984
[units] => 27
)
[1] => Array
(
[YEAR] => 2014
[TitleText] => Animal Farm
[units] => 30
)
[2] => Array
(
[YEAR] => 2014
[TitleText] => Keep the Aspidistra Flying
[units] => 21
)
[3] => Array
(
[YEAR] => 2015
[TitleText] => 1984
[units] => 1
)
[4] => Array
(
[YEAR] => 2015
[TitleText] => Animal Farm
[units] => 9
)
[5] => Array
(
[YEAR] => 2015
[TitleText] => Keep the Aspidistra Flying
[units] => 3
)
)
我非常感谢你能提供任何帮助。
感谢 - 这ISN”这是我使用这个数组的唯一地方,所以我宁愿不重做它,除非没有别的选择。当然,这些元素的顺序无关紧要......我尝试了你的代码,而不是返回六个元素 - 每年一个/标题组合我每年只有两个,但只有当年数组中的最后一个标题 - 这正是我每次尝试它时发生的事情 - 我无法弄清楚如何让它为每个组合创建一个独特的记录。 – 2015-02-17 23:58:42
请使用print_r($ monthly_sales)的输出编辑您的帖子; – 2015-02-18 00:00:55
@Regina McCreary我更新了代码,现在检查它,但如果你写出print_r($ monthly_sales)的输出结果会更好。 – 2015-02-18 00:10:16