Php-код о том, как проверить, много ли значений появляется в массиве, и отображать каждое значение и сколько раз они появляются, не повторяя его

#php #mysql

Вопрос:

Я хочу написать PHP-код, который может сортировать массив списка зарегистрированных электронных писем из базы данных. Затем проверьте, когда значение появляется во второй раз, и вместо того, чтобы отображать его несколько раз, оно добавит количество раз, которое это значение имеет в массиве.

Это то, что я делаю, но это не сработало так, как я хочу.

     function select_names(){
         $names=array(John,
                      Mark,
                   Phillip,
                  Blessing,
                   Victory,
                      John,
                      Mark,
                   Phillip,
                  Blessing,
                  Victory);
        foreach($names as $name){
            for($i=0; $i<count($names); $i  ){
                if($name !==$names[$i]){
                   echo $name."<br/>";   
                }
            }
        }
    }

select_names()
?>
 

Комментарии:

1. php.net/manual/en/function. array-count-values.php

Ответ №1:

Вы можете проверить мой приведенный ниже код, чтобы узнать, как подсчитать, сколько раз появляется значение.

 <?php

function select_names()
{

    $names = array(
        'John',
        'Mark',
        'Phillip',
        'Blessing',
        'Victory',
        'John',
        'Mark',
        'Phillip',
        'Blessing',
        'Victory'
    );

    $result = [];
    foreach ($names as $name)
    {
        if (isset($result[$name]))
        {
            $result[$name]  ;
        }
        else
        {
            $result[$name] = 1;
        }
    }

    foreach ($result as $name => $count)
    {
        echo "{$name}: {$count}" . "<br/>";
    }

}

select_names();

?>
 

Комментарии:

1. Я проверил это, и это работает, большое спасибо