2016-08-17 3 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

당신은 당신은 PHP의 array_unique() 기능을 사용할 수 있습니다

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

이, 그것은 배열에 어떠한 중복을 떠날 것이다 시도 할 수 있습니다.

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

값 "1"과 "g"둘 다 하나가 제거됩니다.

당신이 내부 배열은 단순히 할 수있는 다음 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