2010-09-21 79 views
0

我有以下陣列顯示數組值不repeadly

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

我做一個foreach顯示元件等

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

echo $tab[i]; 

$i++ 
} 

我不想像3. 只是顯示兩次相同的值i想要1 2 3 4 5 6 7...

+0

'$ tab'已經是價值了。 – Gumbo 2010-09-21 15:29:28

回答

1

試試array_unique

4

您可以使用array_unique迭代之前獲得一套獨特與陣列值:

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

您可以使用翻蓋翻蓋合併技術,它比array_unique()更快

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

你可以在這裏看到它http://thebatesreport.com/blog/?p=9

+0

該文章已超過4年。 – 2010-09-21 15:48:15

+0

和?我用PHP 5.3測試了結果>>> 0.0122(flip-merge-merge) 0.514(array_unique) – 2010-09-21 16:03:22

+0

linux 2.6.32-5-686-bigmem,php 5.3.2:0m19.412s(flipper)vs. 0m19 .123s(獨一無二)(當然有幾千次迭代) – Wrikken 2010-09-21 16:41:57