获取一系列独特的值

时间:2011-05-26 23:26:19

标签: php mysql arrays multidimensional-array

嘿,我有一个页面点击表,看起来像:

浏览器||版本||点击||推荐人


我已经获得了hits数组,如:

public function get_app_hits_array($app_fb_page_id, $app_type) 
{       
     $app_analytics_hits_sql = "SELECT * FROM `analytics_hits` WHERE `fb_page_id` = '$app_fb_page_id' AND `app_type` = '$app_type'";
     $result_app_analytics_hits_sql = mysql_query($app_analytics_hits_sql) or die("Query failed : " . mysql_error());
     while ($app_analytics_hits_row = mysql_fetch_assoc($result_app_analytics_hits_sql)) {       
         $app_hits_array[] = $app_analytics_hits_row;
     } 

     return $app_hits_array;
}

如何基于唯一记录生成一个新数组?存储,假设在这种情况下点击....

所以我需要一个具有以下内容的数组:

browser || hits
chrome     30
safari     15
firefox    40

这应该优先从获取所有命中的第一个数组生成。

1 个答案:

答案 0 :(得分:2)

不使用聚合MySQL函数,你可以......

$browserToHits = array();

foreach($results as $result) {
    $key = $result['browser'];

    if ( ! array_key_exists($key, $browserToHits)) {
        $browserToHits[$key] = 0;
    }

    $browserToHits[$key] += $result['hits'];

}

CodePad