我從我的查詢中獲得了期望的結果,現在我無法在 中找出如何將數據操作爲可用的數據。PHP在特定數組列中有多少個唯一值
最終目標是谷歌圖表使用的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_na我並追加到 所需輸出的第一行...我只想獨特。
另外一個組件可能不具有特定月份的任何意見(它可能沒有甚至 當月存在的),所以我可能從二月最新組件,並且不被添加,直到後來,但其他部件 包括在計數中...即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函數?
有沒有更好的方法來做到這一點?
將在array_unique()函數幫助你獲得部件的唯一名稱? – Floris 2013-04-25 19:54:51
array_unique()...試過了,太多的節點是唯一的,因爲月/年/計數值 – ppetree 2013-04-25 20:08:56