如何使用php计算循环中的重复值

时间:2015-05-23 09:04:14

标签: php count

$ query =“select * from tableitem”;
$ result = mysql_query($ query);

$col = array();

while ($row = mysql_fetch_array($result)){

 //they have computation here inside loop.
  $amount = $value;

if($row['status']>3){  // base on the status only
    if($amount>0){ //base on the computation 

        $count = $item;
        // i need to count here the item before the grouping of duplicate item below.

    if (!isset($col[$row['item']])) { // this is working for grouping the duplicate value
       echo $row['item'];  
       echo $count;   // count item 
       $col[$row['item']] = true;
      }
   }
 }}

如果可能的话,示例输出应该像while一样循环。

第一项2
第二项3
第五项第4项

2 个答案:

答案 0 :(得分:2)

你可以用sql做必要的PHP;

SELECT COUNT(*) as N,item 
FROM tableitem
GROUP BY item

它将返回重复的项目,您可以使用n>1进行检查。您可以为组添加更多列。

$itemArray;
while ($row = mysql_fetch_array($result)){
    if($row['n']>1){
       itemArray[] = $row['item'];    
    }    
}
print_r($itemArray);

答案 1 :(得分:0)

如果使用您尝试计算的键递增数组值:

$check = array();
foreach($values as $key => $value) {
   if (isset($check[$key])) {
       $check[$key]++;
   } else {
       $check[$key]=1;
   }
}
var_dump($check);