2016-08-17 145 views
2

我有一個數組這樣的:PHP陣列重複值

Array 
(
[0] => Array 
    (
     [0] => Array 
      (
       [Foo] => FooBar 
      ) 

    ) 

[1] => Array 
    (
     [0] => Array 
      (
       [Foo] => BarFoo 
      ) 
    ) 

[2] => Array 
    (
     [0] => Array 
      (
       [Foo] => FooFoo 
      ) 

    ) 

[3] => Array 
    (
     [0] => Array 
      (
       [Foo] => FooFoo 
      ) 

    ) 

我基本上希望能夠看[2]和[3],並能夠這兩個合併在一起因爲它們的值是相同的。基本上我只是不想重複計數。循環播放時有沒有簡單的方法?

+0

這是結構始終是相同的? [0] =>數組 ( [0] =>數組 ( [美孚] => FooBar的 ) ) –

+0

是,顯然具有不同的值,但是相同的結構! – codnor

回答

2

你可以試試這個

$unique_array = array_map("unserialize", 
     array_unique(array_map("serialize", $your_array))); 
-2

您可以使用PHP的array_unique()功能,它會留下沒有重複在數組中。

<?php 
$arr = array("1","b","g","2","1","j","g"); 
$arrNoDup = array_unique($input);  
?> 

值「1」和「g」將得到一個被刪除的eaching。

如果你想成爲uniqued裏面陣列,那麼你可以簡單地做:

<?php 
for($i=0; $i<sizeof($array); $i++) 
{ 
    $arrNoDup[$i] = array_unique($array[$i]); 
} 
?> 

參考:

http://php.net/manual/en/function.array-unique.php

+0

我不認爲這將主陣列包含其他陣列時。 –

+0

@ChinLeung他可以適應它在嵌套數組中使用它..有許多方法可以使用遞歸函數和像foreach和其他循環 – bakz