2010-09-21 3 views
0

je le tableau suivantvaleurs du tableau d'affichage ne repeadly

$ar = array (1,2,3,4,5,3,6,7,...) 

je fais un foreach pour afficher les éléments comme

$i = 0 
foreach ($ar as $tab){ 

echo $tab[i]; 

$i++ 
} 

Je ne veux pas afficher la même valeur deux fois comme 3. je viens veulent 1 2 3 4 5 6 7...

+0

'$ tab' est déjà la valeur. – Gumbo

Répondre

1

essayer array_unique

4

Vous pouvez utiliser array_unique pour obtenir l'ensemble unique de valeurs de votre tableau avant itérer dessus:

$arr = array(1,2,3,4,5,3,6,7); 
foreach (array_unique($arr) as $tab) 
{ 
    // ... 
} 
0

Vous peut utiliser la technique flip-flip-fusion qui est plus rapide que array_unique()

$ar = array(1,2,3,4,5,3,6,7); 
$ar = array_merge(array_flip(array_flip($ar))); 

Vous pouvez lire à ce sujet ici http://thebatesreport.com/blog/?p=9

+0

Cet article a plus de 4 ans. –

+0

et? Je l'ai testé avec PHP 5.3 Résultats >>> 0.0122 (flip-flip-merge) 0.514 (array_unique) –

+0

Linux 2.6.32-5-686-bigmem, php 5.3.2: 0m19.412s (flipper) par rapport à 0m19 .123s (unique) (quelques milliers d'itérations bien sûr) – Wrikken

Questions connexes