2014-10-06 54 views
-2

我有一个数组。如何获得唯一的数组,其近似值

$a = array(
0 => 1, 
1 => 1, 
2 => 2, 
3 => 3, 
4 => 1 
); 

如何获得这样的独特数组?

$result = array_My_unique($a); 
print_r($result); 

输出:

$a = array(
0 => 1, 
1 => 2, 
2 => 3, 
3 => 1 
); 

谢谢!

+2

这是什么规则?你有什么尝试?你卡在哪里? – PeeHaa 2014-10-06 19:49:08

+0

我不认为“独特”是你正在寻找的。你似乎试图删除那些立即“彼此相邻”的重复内容......? – sjagr 2014-10-06 19:49:28

+0

没人能理解。 – 2014-10-06 19:49:51

回答

0

假设你正试图避免可立即彼此相邻重复:

function array_my_unique($a = array()) { 
    $out = array(); 
    $curr = false; 
    foreach ($a as $v) { 
     if ($curr !== $v) { 
      $out[] = $v; 
     } 
     $curr = $v; 
    } 
    return $out; 
} 

这满足您在问题中描述的输入/输出之间的断言。

+0

我将不胜感激评论为什么我的答案不能满足问题的参数,以我的能力最好,所以我可以更好地在未来的答案 – sjagr 2014-10-06 20:01:11

+0

+1对我来说很不利 – 2014-10-06 20:07:27

+0

Stackoverflow不喜欢当有人回答一个“坏”的问题。你的答案本身很好。 – georg 2014-10-06 20:07:46

相关问题