删除重复项并计入行中

时间:2019-02-13 14:01:35

标签: php arrays count duplicates row

我想删除重复的条目,然后计数它们以将其显示在我的php ROW中的条目旁边

我已经尝试过:

<?php                                       
foreach (array_unique($events) as $eventorga) {                                     
$eventorgan = $eventorga['organizer'];                                      
echo $eventorga['organizer'].'</br>';                                       
}                                       
?>

但是有一个错误:数组到字符串的转换返回给我

<?php
foreach ($events as $eventorga) {
echo $eventorga['organisateur'].'</br>';
}
?>

当前,我的代码返回以下结果:

Holyblood
Nessy
Pokégaia
Sorrow
JOHN
Holyblood

(来自我的MYSQL数据库)

我希望得到的回报是:

Holyblood - 2
Nessy - 1
Pokégaia - 1
Sorrow - 1
JOHN - 1

2 个答案:

答案 0 :(得分:0)

尝试一下。

$events =  [
            "Holyblood",
            "Nessy",
            "Pokégaia",
            "Sorrow",
            "JOHN",
            "Holyblood"
        ];
$eventCounts = [];
foreach ($events as $key => $eventorga) {
    if(!isset($eventCounts[$eventorga]))
        $eventCounts[$eventorga] = 0;
    $eventCounts[$eventorga]++   ;     

}
foreach ($eventCounts as $eventName => $eventCount) {
    echo $eventName . ' - ' . $eventCount . '<br>';
}

答案 1 :(得分:0)

$eventResposne = array();

    array_walk($eventorga,function($responses,$index) use( &$eventResposne){
              if(isset($eventResposne[$responses['organisateur']])){
                       $eventResposne[$responses['organisateur']] = $eventResposne[$responses['organisateur']] + 1;
              }else{
                    $eventResposne[$responses['organisateur']] = 1;

              }       
    });

它将返回一个类似{'Holyblood':2,'Nessy':1,...}的数组。 现在,使用$ eventResposne数组打印所需的图案。