我从查询中得到了想要的结果,现在我无法弄清楚如何将数据操作成可用的东西。
最终目标是谷歌图表使用的 json 输出,我可以在任何单个组件上执行此操作而不会出现问题。
我需要输出看起来像这样(我不知道月/年之后会有多少组件......它可能是 0 或 10 或 20......):
['Month/Year', 'Wiper Blades', 'Mufflers'] [,[...]],
['March 2013', 13, 11],
['April 2013', 17, 19],
[...],
[...]
]);
这是我查询后的数组(不能在一段时间内执行此操作(),因为我需要 cmpnt_name 作为所需输出的第一行(上图),这就是我首先构建数组的原因):
Array
(
[0] => Array
(
[vmonth] => February
[vyear] => 2013
[cmpnt_count] => 9
[cmpnt_name] => Wiper blade
)
[1] => Array
(
[vmonth] => March
[vyear] => 2013
[cmpnt_count] => 13
[cmpnt_name] => Wiper blade
)
[2] => Array
(
[vmonth] => March
[vyear] => 2013
[cmpnt_count] => 11
[cmpnt_name] => Muffler
)
[3] => Array
(
[vmonth] => April
[vyear] => 2013
[cmpnt_count] => 17
[cmpnt_name] => Wiper blade
)
[4] => Array
(
[vmonth] => April
[vyear] => 2013
[cmpnt_count] => 19
[cmpnt_name] => Muffler
)
)
我无法遍历数组并获取每个 cmpnt_name 并将其附加到所需输出的第一行......我只想要唯一的。
此外,一个组件在给定月份可能没有任何视图(它甚至可能在那个月不存在),所以我可能有从 2 月开始的组件和其他直到稍后才添加但包含在计数中的组件。 . 即消音器是在 3 月添加的。
那么我该如何寻找第一行的唯一组件名称呢?
我刚在想:
function findUniques($cmpnt)
{
$names = array();
foreach($cmpnt as $item)
{
$key = $item['cmpnt_name'];
if(array_key_exists($key, $names))
{
$names[$key]++;
}
else
$names[$key] = 1;
}
return($names);
}
有没有这个的php函数?
有一个更好的方法吗?