2014-11-24 5 views
0

중복 배열을 제거하려면 어떻게해야합니까? 그것은 배열에서 독특한 다르다 때문에 그 중복 배열을 제거하는 방법은 무엇입니까?

은 내가 값을 유지하면서 내가 이렇게해야합니까 방법이

1. array('item' => 6, 'quantity' => 1, 'price' => 120) 
2. array('item' => 6, 'quantity' => 1, 'price' => 120) 
3. array('item' => 6, 'quantity' => 1, 'price' => 120) 
4. array('item' => 22, 'quantity' => 8, 'price' => 30) 
5. array('item' => 22, 'quantity' => 8, 'price' => 30) 

같은 배열 목록을 .. 배열 내부의 중복 된 값을 제거한다?

if(serialize($a1) == serialize($a2)) 

당신은 배열을 serializ하고 비교할 수 있습니다

3. array('item' => 6, 'quantity' => 1, 'price' => 120) 
4. array('item' => 22, 'quantity' => 8, 'price' => 30) 

코드

$get = file_get_contents('URL');  
$json = json_decode($get, true);  
$results = print_r($json);  
file_put_contents('file.json', print_r($json, true), FILE_APPEND); 
+0

당신은 아무것도 시도? 시도는 무엇을 생각해 냈습니까? 어디서 붙어 있니? – PeeHaa

+0

그게 왜 묻는거야, 나는 그것을 할 방법이나 시도하려는 어떤 생각이 없어. – fcbrmadrid

답변

1

이 당신을 위해 작동합니다 :

$unique = array_map("unserialize", array_unique(array_map("serialize", $array))); 

을 그래서 예를 들어 :

<?php 

    $array = array(
       array('item' => 6, 'quantity' => 1, 'price' => 120), 
       array('item' => 6, 'quantity' => 1, 'price' => 120), 
       array('item' => 6, 'quantity' => 1, 'price' => 120), 
       array('item' => 22, 'quantity' => 8, 'price' => 30), 
       array('item' => 22, 'quantity' => 8, 'price' => 30) 
      ); 

    $unique = array_map("unserialize", array_unique(array_map("serialize", $array))); 

    echo "<pre>"; 
    print_r($unique); 

?> 

는 출력 :

Array 
(
    [0] => Array 
     (
      [item] => 6 
      [quantity] => 1 
      [price] => 120 
     ) 

    [3] => Array 
     (
      [item] => 22 
      [quantity] => 8 
      [price] => 30 
     ) 

) 
0

또한이 방법을 시도 할 수 있습니다.

관련 문제