2013-07-16 46 views
0

嗨具体数值我有数组是这样的:如何计算在PHP数组

0 => 
    array (size=6) 
     'id' => string '55' (length=2) 
     'uid' => string '1' (length=1) 
     'item_id' => string '5' (length=1) 
     'item_name' => string 'dfgdfg' (length=6) 
     'price' => string '14.91' (length=5) 
     'time' => string '1373975023' (length=10) 
    1 => 
    array (size=6) 
     'id' => string '59' (length=2) 
     'uid' => string '1' (length=1) 
     'item_id' => string '5' (length=1) 
     'item_name' => string 'dfgdfg' (length=6) 
     'price' => string '14.91' (length=5) 
     'time' => string '1373978756' (length=10) 
    2 => 
    array (size=6) 
     'id' => string '58' (length=2) 
     'uid' => string '1' (length=1) 
     'item_id' => string '6' (length=1) 
     'item_name' => string 'kubek #1' (length=8) 
     'price' => string '10.01' (length=5) 
     'time' => string '1373978751' (length=10) 
    3 => 
    array (size=6) 
     'id' => string '56' (length=2) 
     'uid' => string '1' (length=1) 
     'item_id' => string '7' (length=1) 
     'item_name' => string 'ewr' (length=3) 
     'price' => string '1.05' (length=4) 
     'time' => string '1373975032' (length=10) 

,我需要把这个数组是这样的:

 0 => 
    array (size=6) 
     'id' => string '59' (length=2) 
     'uid' => string '1' (length=1) 
     'item_id' => string '5' (length=1) 
     'item_name' => string 'dfgdfg' (length=6) 
     'price' => string '14.91' (length=5) 
     'time' => string '1373978756' (length=10) 
     'q' => 2 

    1 => 
    array (size=6) 
     'id' => string '58' (length=2) 
     'uid' => string '1' (length=1) 
     'item_id' => string '6' (length=1) 
     'item_name' => string 'kubek #1' (length=8) 
     'price' => string '10.01' (length=5) 
     'time' => string '1373978751' (length=10) 
     'q' => 1 
    2 => 
    array (size=6) 
     'id' => string '56' (length=2) 
     'uid' => string '1' (length=1) 
     'item_id' => string '7' (length=1) 
     'item_name' => string 'ewr' (length=3) 
     'price' => string '1.05' (length=4) 
     'time' => string '1373975032' (length=10) 
     'q' => 1 

需要算多少特定值进入阵列并将它们放入新阵列。这时我尝试做这样,但它不会。如果您使用的是数据库的工作很好

foreach ($b as $k => $v) { 
     $bas[$k]['q'] = array_count_values($v['item_id']); 
    } 
+0

是这些值从数据库中来?你可以使用'GROUP BY item_id'然后.. – Pieter

+1

不错的一个我没有考虑它,使用count(item_id)作为q和你说group_ item_id,非常感谢 – DorienCragen

+0

不客气。我会发布它是一个答案,然后其他人可以使用它。 – Pieter

回答

1

,您可以使用此查询:

SELECT *, count(item_id) AS quantity FROM table GROUP BY item_id