【发布时间】:2013-04-19 20:43:32
【问题描述】:
我从查询中得到了想要的结果,但现在我无法确定 了解如何将数据操作成可用的东西。
最终目标是 json 输出供 google 图表使用,我可以在 任何一个组件都没有问题。
我需要输出看起来像这样(我不知道后面会有多少组件 月/年...可能是 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 月开始的组件和其他组件 直到稍后才添加但包含在计数中...即添加了消声器 三月。
那么我该如何找到第一行的唯一组件名称呢?
我在想:
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函数吗?
有没有更好的方法来做到这一点?
【问题讨论】:
-
array_unique() 函数能帮你获取组件的唯一名称吗?
-
array_unique()... 试过了,因为月/年/计数值,太多节点是唯一的
标签: php arrays unique array-column