Ir para o conteúdo

- - - - -

Array_Count_Values_Recursive


Criado por Carlos Coelho, Nov 21 2012 20:45

Não há respostas para este tópico
  • Por favor, faça o login para responder

#1 Carlos Coelho

Carlos Coelho
  • Carlos Coelho
  • Colaborador
  • 11 Revisões
  • LocalizaçãoGravataí - RS

Revisou 21 novembro 2012 - 20:45

*
REVISÃO POPULAR!

Desenvolvi uma função que conta as frequências de cada valor em um array multidimensional ou não.

Achei legal compartilhar com a galera.

O array para teste
Spoiler


A função array_count_values_recursive

/**
* Conta as frequências de cada valor de um array
* @param array $input O array de valores para contagem
* @return array Retorna um array associativo de
* valores de input como chaves e suas quantias como valor.
*/
function array_count_values_recursive( array $input )
{
$result = array( );
array_walk_recursive(
$input,
function( $value ) use( &$result )
{
if( isset( $result[ $value ] ) )
{
$result[ $value ] += 1;
}
else
{
$result[ $value ] = 1;
}
}
);
return $result;
}


Modo de usar

<?php

var_dump( array_count_values_recursive( $array ) );

?>


Resultado

array
'Q' => int 5
'Z' => int 5
'Y' => int 2
'E' => int 6
'X' => int 4
'F' => int 4
'R' => int 3
'B' => int 5
'O' => int 5
'K' => int 6
'U' => int 4
'N' => int 4
'H' => int 7
'J' => int 3
'I' => int 2
'S' => int 4
'A' => int 4
'P' => int 4
'V' => int 6
'M' => int 4
'G' => int 3
'T' => int 3
'L' => int 2
'C' => int 2
'D' => int 10
'W' => int 4

O conhecimento incompleto das potencialidades de uma linguagem de programação, pode conduzir a raciocínios (e conseqüentes projetos) relativamente limitados.




1 usuário(s) está(ão) lendo este código

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)