Tableau indéxé numériquement et doublon

pontarose -  
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,

Je remplis mon tableau indéxé numériquement à l'aide d'une boucle (via les données entrés dans un formulaire); J'obtiens ainsi une liste d'élement dans un tableau indéxé numériquement.
Comment faire pour repérer si j'ai des doublons dans cette liste?

Exemple: A1,B1,C1,A1
je compare tous les éléments de cette liste
si A1 est présent x fois
print A1 est un doublon

Voiçi mon script:
<?php
$tab=array();
for($i=1; $i<=$nb_proteine;$i++)
{
$sunite=$_POST['sunite'.$i]
$tab[]="$sunite";

}
?>

JE BLOQUE A CE NIVEAU
<?php
$nb=count($tab);
for($j=0; $j!=$nb;$j++)
{

if ($tab[$i]==$tab;
}
?>
A voir également:

3 réponses

Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

Je te propose de tout faire en une seule fois : au moment d'ajouter un élément, tu ne le fais que s'il n'est pas déjà dans le tableau.
Ce qui donne :
<?php
   $tab=array();
   for($i=1; $i<=$nb_proteine;$i++)
   {
      $sunite=$_POST['sunite'.$i]
      if (!array_search($sunite, $tab))
         $tab[]=$sunite;
   }
?> 
Xavier
0
pontarose
 
Bonjour,
Merci mais cela ne marche pas.

Si je tape A1 et A1
j'obtiens
Array (
[0]flècheA1
[0]flècheA1
)

<?php
$tab=array();
for($i=1; $i<=$nb_proteine;$i++)
{
$sunite=$_POST['sunite'.$i]
if (!array_search($sunite, $tab))
{
$tab[]=$sunite;
}
else
{
print("DOUBLON");
}
}

print("<pre>");
print_r("$tab");
print("</pre>");

?>
0
Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bon, alors essaie de remplacer
if (!array_search($sunite, $tab))
par
if (array_search($sunite, $tab) === False)
0