Удалить дубликаты и сосчитать их в строке - PullRequest
0 голосов
/ 13 февраля 2019

Я хотел бы удалить повторяющиеся записи, а затем сосчитать их, чтобы отобразить их рядом с моими записями в моем 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 голосов
/ 13 февраля 2019
$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 для печати нужного шаблона.

0 голосов
/ 13 февраля 2019

Попробуйте это.

$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>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...