LAÇO DE REPETIÇÃO FOREACH COM CONTADOR DE VALORES REPETIDOS.

306 views
Skip to first unread message

Flávio Neves

unread,
Feb 8, 2016, 6:05:47 PM2/8/16
to LISTA PHP
Vou tentar ser o mais claro possível, pois não encontrei solução aqui no fórum. Se já houver solução por favor desculpe e se possível me passe o link.

Problema.
Tenho um laço de repetição usando FOREACH que imprime na tela os valores de uma coluna com nome 'nome':


Os valores ficam repetidos na tela , usei o seguinte código:

#Código
1- $aluno = DBRead('alunos', 'ORDER BY nome ASC', 'nome');
2- foreach ($aluno as $alunos){
3- echo $alunos['nome'].'<br>';
4- }


onde tenho uma função DBRead que lê meu banco de dados alunos.

Consegui encontrar um contador, mas ele não conta variável, e colocando os valores ele fica assim:


com esse código os valores saem da forma que eu tenho interesse:

#Código
1- $valores = array('Antonialy Ferreira', 'Gabriel Faleiros', 'Gabriel 2- 2- Faleiros', 'Gabriel Faleiros', 'Nenhum', 'Noroel Buzain',
3- 'Noroel Buzain', 'Noroel Buzain', 'Noroel Buzain', 'Noroel Buzain');
4- $contagem = array_count_values($valores);
5- foreach($contagem AS $numero => $vezes) {
6- echo "$numero - $vezes<br />";
7- }
}


Desde já agradeço pela ajuda.

Flavio Neves

unread,
Feb 8, 2016, 7:03:29 PM2/8/16
to list...@googlegroups.com

o xará posta o método dbread... executando o select no banco trás o esperado?

--
--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================

---
Você está recebendo esta mensagem porque se inscreveu no grupo "LISTA PHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para listaphp+u...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.

Ederson Pereira de Brito

unread,
Feb 9, 2016, 7:41:50 PM2/9/16
to list...@googlegroups.com

Nao seria o fato de vc estar usando esta funçao para contar array_count_values($valores);
E no primeiro caso vc nao esta usando

Você recebeu essa mensagem porque está inscrito no grupo "LISTA PHP" dos Grupos do Google.

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para listaphp+u...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Jairo Silva

unread,
Feb 9, 2016, 10:27:12 PM2/9/16
to list...@googlegroups.com

Acredito que se houverem pessoas/ alunos com o mesmo nome o método retornará várias vezes o mesmo resultado. Quando você executa o select manualmente você obtém que resultado?

Reply all
Reply to author
Forward
0 new messages