2010-09-21 100 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