2013-03-11 103 views
0

下面是我的數組示例。我想每次在數組中都有一個user_id。我想每次在數組中都有一個user_id。在PHP中的多維數組中重複計數值

Array 
(
[0] => Array 
    (
     [user_id] => 57002892 
     [page_id] => 109446562415595 
    ) 

[1] => Array 
    (
     [user_id] => 515576073 
     [page_id] => 109446562415595 
    ) 

[2] => Array 
    (
     [user_id] => 560299932 
     [page_id] => 109446562415595 
    ) 

[3] => Array 
    (
     [user_id] => 607960053 
     [page_id] => 109446562415595 
    ) 

[4] => Array 
    (
     [user_id] => 607960053 
     [page_id] => 109446562415595 
    ) 
) 

,這應該輸出如下:

Array 
(
[0] => Array 
    (
     [user_id] => 57002892 
     [count] => 1 
    ) 

[1] => Array 
    (
     [user_id] => 515576073 
     [count] => 1 
    ) 

[2] => Array 
    (
     [user_id] => 560299932 
     [count] => 1 
    ) 

[3] => Array 
    (
     [user_id] => 607960053 
     [count] => 2 
    ) 
) 

這是可能做到?

回答

0

讓你的例子輸入是$ input_array在下面的代碼:

$user_id_hash = array(); 
foreach($input_array as $occur) 
{ 
    if(!array_key_exists($occur['user_id'], $user_id_hash)) 
    { 
     $user_id_hash[$occur['user_id']] = 0; 
    } 
    $user_id_hash[$occur['user_id']]++; 
} 
$user_id_arr = array(); 
foreach($user_id_hash as $user_id => $count) 
{ 
    $user_id_arr[] = array('user_id' => $user_id, 'count' => $count); 
} 

如果你確定與關聯數組,你可以刪除第二個循環。

+0

什麼是'$ user_id'?這給了我錯誤:注意:未定義的變量:user_id – tytyguy 2013-03-11 03:56:00

+0

應該是第4,6和8行中的「$ user_id_hash」。我更新了要反映的答案。 – 2013-03-11 04:03:57