Version complète: sur le forum Webmaster Hub : Comparaisons de Valeurs dans un tableau
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
hellay
Bonjour,
j'ai un problème pour réussir une comparaison de diverses valeurs dans un tableau, je m'explique...

J'ai plusieurs valeurs dans un tableau, disons ( 5, 5, 9, 9, 15, 4)
Je veux savoir si il y a des cas ou une valeur existe plusieurs fois dans un tableau (dans mon exemple , 5 et 9 se répètent tous les deux deux fois), j'ai donc utilisé la fonction array_count_values, qui me sort :

CODE
$tab1 = array (5, 5, 9, 9, 15, 4);
$tab2 = array_count_values($tab1);

// me sortira donc :
Array
(
    [4] => 1
    [5] => 2
    [9] => 2
    [15] => 1
)


j'ai donc maintenant des valeurs utilisables parfaitement pour mes doubles etc...
mais si je veux savoir combien de fois j'ai une répétition (4 fois 2 valeurs identiques etc ( dans ce cas la d avoir 2 fois 2 valeurs ) y a t'il une méthode simple ? ( et pas de faire une série de plein de conditions sur 20 lignes tongue.gif )
car je ne peux pas réutiliser array_count_value, sinon il va me prendre en compte mes resultats pour 4 et 15 (alors que je veux uniquement les versions a 2 ou plus dans mon tableau)

merci d'avance des réponses, et si je n'ai pas été clair hésitez pas a me demander des détails smile.gif
georges
salut,

dans ton exemple, on pourrait faire ensuite :
CODE
foreach ($tab2 as $key => $val)
{
if ($val > 1) {echo $key,': ',$val,'<br>';}
}


edit : j'ai dû relire ton post 3 fois pour comprendre ton souci.. donc mon code ne t'avancera pas trop, désolé blush.gif
georges
me revoilà après avoir testé hypocrite.gif

CODE
$tab3 = array();
foreach ($tab2 as $key => $val)
{
if ($val > 1) {array_push($tab3,array("chiffre"=>$key,"fois"=>$val));}
}

for($i=0;$i<count($tab3);$i++)
    {
echo $tab3[$i]['chiffre'],' apparaît ',$tab3[$i]['fois'],' fois<br>';
    }


il te suffit donc de compter la "longueur" de ton tableau pour savoir combien de répétition tu as smile.gif
hellay
Merci pour les bonnes infos et idées, ça marche parfaitement après l'avoir adapté et testé a_thumbsup_20.gif
désolé pour les explications compliqués a la base, dur d expliquer un double de double tongue.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.