probleme en utilisant in_array avec une variable

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme en utilisant in_array avec une variable

Re: probleme en utilisant in_array avec une variable

par sirakawa » 09 juin 2013, 09:02

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);
?>

Re: probleme en utilisant in_array avec une variable

par expandable » 08 juin 2013, 17:14

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

par ghost5922 » 08 juin 2013, 16:59

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

par moogli » 08 juin 2013, 16:41

salut,


utilise array_unique

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


@+

probleme en utilisant in_array avec une variable

par expandable » 08 juin 2013, 16:03

<?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