Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lendadomato

Agrupar dados de um Array e marcar o repetidos

Recommended Posts

Pessoal, preciso agrupar dados de um array e marcar os elementos repetidos, o que tenho:

<?
  // vamos declarar e inicializar um array de inteiros
  $valores = array(43, 2, 6, 11, 98, 6, 3, 6, 2, 2, 2, 2, 2, 3, 11, 51, 98, 43);

  // vamos exibir os valores do array
  echo "Todos Elementos:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }

  // vamos remover os elementos duplicados
  $valores = array_unique($valores, 2);
  
  // vamos exibir os valores do array novamente
  echo "<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }


 // manter duplicados diferenciando dos demais
  $valores = array_unique($valores);
  
  // vamos exibir os valores do array novamente
  echo "<br><br>Elementos duplicados:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }


?>

ele imprime:

Todos Elementos:
43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 2 - 2 - 2 - 2 - 2 - 3 - 11 - 51 - 98 - 43 -

Elementos duplicados:
43 - 2 - 6 - 11 - 98 - 3 - 51 -



o que eu preciso seria:

Todos Elementos:
43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 2 - 2 - 2 - 2 - 2 - 3 - 11 - 51 - 98 - 43 -

Elementos duplicados e ordenados, com os duplicados em negrito:
2 -2 - 2 - 2 - 2 - 2 - 3 - 3 - 6 - 6 - 6 - 11 - 11 - 43 - 43 - 51 - 98 - 98 -


ou assim:

2 -2 - 2 - 2 - 2 - 2 -
3 - 3 -
6 - 6 - 6 -
11 - 11 -
43 - 43 -
51 -
98 - 98 -

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela documentação Júnior,
consegui com o uso do sort e array_count_values.
usei também um contador para separar os resultados, obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.