Page 1 sur 1

probleme en utilisant in_array avec une variable

Posté : 08 juin 2013, 16:03
par expandable
<?php
$tab=array('chien','chat','chien','bibi','chien','cheval');
$x=count($tab);
$y=0;
$tabtab=array('');
for($cont=0;$cont<=$x;$cont+=1)
	{
	$var=$tab[$cont];
	if(! in_array($var,$tabtab))
		{
			$tabtab[$y]=$tab[$cont];
			$y+=1;
		}
	}
?>
Le but c'est d'eliminer les redondances , ainsi le tableau $tabtab doit contenir (chien + chat + bibi + cheval) , je sais pas ou est le problème o.O

Re: probleme en utilisant in_array avec une variable

Posté : 08 juin 2013, 16:41
par moogli
salut,


utilise array_unique

pour ta boucle tu peu regarder du coté de foreach.


@+

Re: probleme en utilisant in_array avec une variable

Posté : 08 juin 2013, 16:59
par ghost5922
Bonjour,

comme moogli te la dit pour virer les doublons on utilise array_unique

voila un bout de code
<?php
$tab=array('chien','chat','chien','bibi','chien','cheval');
foreach(array_unique($tab) as $tab2){
	echo $tab2.'<br>';	
}
?>
 

Re: probleme en utilisant in_array avec une variable

Posté : 08 juin 2013, 17:14
par expandable
Ok merci beucoup les amis , bien que j'ai bien voulu pourquoi camarche pas quand je met
in_array($x,$tabtab)
avec $x une variable peu atre l'origine c'est les deux guillemets , car
in_array("chien",$tabtab)
ca marche très bien (il y a les guillemets autour de chien )

Re: probleme en utilisant in_array avec une variable

Posté : 09 juin 2013, 09:02
par sirakawa
Ton code corrigé:
<?php
$tab=array('chien','chat','chien','bibi','chien','cheval');
$x=count($tab);
$y=0;
$tabtab=array();
// < et pas <= le tableau va de 0 à 5 ici
for($cont=0; $cont<$x; $cont+=1)
{
   $var=$tab[$cont];
        if(! in_array($var,$tabtab))
                {
                        //pas indispensable mais ça évite un nouvel accès au tableau et faciliterait les tests éventuels
                        $tabtab[$y]=$var;
                        $y+=1;
                }
}
        print_r($tabtab);
?>