복붙노트

PHP에서 배열의 중복 값을 제거하는 방법

PHP

PHP에서 배열의 중복 값을 제거하는 방법

PHP에서 배열에서 중복 값을 제거하려면 어떻게해야합니까?

해결법

  1. ==============================

    1.array_unique ()를 사용하십시오.

    array_unique ()를 사용하십시오.

    예:

    $array = array(1, 2, 2, 3);
    $array = array_unique($array); // Array is now (1, 2, 3)
    
  2. ==============================

    2.

    //Find duplicates 
    
    $arr = array( 
        'unique', 
        'duplicate', 
        'distinct', 
        'justone', 
        'three3', 
        'duplicate', 
        'three3', 
        'three3', 
        'onlyone' 
    );
    
    $unique = array_unique($arr); 
    $dupes = array_diff_key( $arr, $unique ); 
        // array( 5=>'duplicate', 6=>'three3' 7=>'three3' )
    
    // count duplicates
    
    array_count_values($dupes); // array( 'duplicate'=>1, 'three3'=>2 )
    
  3. ==============================

    3.array_values ​​(array_unique ($ array));를 사용하십시오.

    array_values ​​(array_unique ($ array));를 사용하십시오.

    array_unique : 고유 배열 용 array_values ​​: 다시 색인화를위한

  4. ==============================

    4.때로는 array_unique ()가 방법이 아닙니다. 고유하고 중복 된 항목을 원한다면 ...

    때로는 array_unique ()가 방법이 아닙니다. 고유하고 중복 된 항목을 원한다면 ...

    $unique=array("","A1","","A2","","A1","");
    $duplicated=array();
    
    foreach($unique as $k=>$v) {
    
    if( ($kt=array_search($v,$unique))!==false and $k!=$kt )
     { unset($unique[$kt]);  $duplicated[]=$v; }
    
    }
    
    sort($unique); // optional
    sort($duplicated); // optional
    

    에 대한 결과

    array ( 0 => '', 1 => 'A1', 2 => 'A2', ) /* $unique */
    
    array ( 0 => '', 1 => '', 2 => '', 3 => 'A1', ) /* $duplicated */
    
  5. ==============================

    5.나를 위해 일한 유일한 것은 :

    나를 위해 일한 유일한 것은 :

    $array = array_unique($array, SORT_REGULAR);
    
  6. ==============================

    6.explode ( ",", implode ( ", array_unique (explode (", $ YOUR_ARRAY))));

    explode ( ",", implode ( ", array_unique (explode (", $ YOUR_ARRAY))));

    이것은 키 연관을 처리하고 그 결과 배열을 위해 키를 직렬화합니다 :-)

  7. ==============================

    7.이 마지막 값을 사용하여 이러한 유형의 배열을 만들면 열 또는 키 값으로 업데이트되고 배열에서 고유 한 값을 가져옵니다 ...

    이 마지막 값을 사용하여 이러한 유형의 배열을 만들면 열 또는 키 값으로 업데이트되고 배열에서 고유 한 값을 가져옵니다 ...

    $array = array (1,3,4,2,1,7,4,9,7,5,9);
        $data=array();
        foreach($array as $value ){
    
            $data[$value]= $value;
    
        }
    
        array_keys($data);
        OR
        array_values($data);
    
  8. ==============================

    8.

    $result = array();
    foreach ($array as $key => $value){
      if(!in_array($value, $result))
        $result[$key]=$value;
    }
    
  9. ==============================

    9.그것은 그것을 할 수있는 좋은 방법입니다. 출력이 다시 배열로 되돌아 가는지 확인하고 싶을 수도 있습니다. 이제 마지막 고유 값 만 보여줍니다.

    그것은 그것을 할 수있는 좋은 방법입니다. 출력이 다시 배열로 되돌아 가는지 확인하고 싶을 수도 있습니다. 이제 마지막 고유 값 만 보여줍니다.

    이 시도:

    $arrDuplicate = array ("","",1,3,"",5);
    
    foreach (array_unique($arrDuplicate) as $v){
      if($v != "") { $arrRemoved[] = $v; }
    }
    print_r ($arrRemoved);
    
  10. ==============================

    10.배열 크기에 따라 찾았습니다.

    배열 크기에 따라 찾았습니다.

    $array = array_values( array_flip( array_flip( $array ) ) );
    

    array_unique보다 빠를 수 있습니다.

  11. ==============================

    11.

        if (@!in_array($classified->category,$arr)){        
                                        $arr[] = $classified->category;
                                     ?>
    
                <?php } endwhile; wp_reset_query(); ?>
    

    배열에서 처음으로 값을 확인하고 동일한 값을 찾지 못했습니다.

  12. ==============================

    12.PHP의 연관 배열에서 중복 값을 제거하십시오.

    PHP의 연관 배열에서 중복 값을 제거하십시오.

    $arrDup = Array ('0' => 'aaa-aaa' , 'SKU' => 'aaa-aaa' , '1' => '12/1/1' , 'date' => '12/1/1' , '2' => '1.15' , 'cost' => '1.15' );
    
    foreach($arrDup as $k =>  $v){
      if(!( isset ($hold[$v])))
          $hold[$v]=1;
      else
          unset($arrDup[$k]);
    }
    

    나는 [0] => Aaa [1] => 12/1/1 [A] => 1.15)

  13. ==============================

    13.

    $arrDuplicate = array ("","",1,3,"",5);
     foreach(array_unique($arrDuplicate) as $v){
      if($v != "" ){$arrRemoved = $v;  }}
    print_r($arrRemoved);
    
  14. ==============================

    14.

    function arrayUnique($myArray)
    {
        $newArray = Array();
        if (is_array($myArray))
        {
            foreach($myArray as $key=>$val)
            {
                if (is_array($val))
                {
                    $val2 = arrayUnique($val);
                }
                else
                {
                    $val2 = $val;
                    $newArray=array_unique($myArray);
                    $newArray=deleteEmpty($newArray);
                    break;
                }
                if (!empty($val2))
                {
                    $newArray[$key] = $val2;
                }
            }
        }
        return ($newArray);
    }
    
    function deleteEmpty($myArray)
    {
        $retArray= Array();
        foreach($myArray as $key=>$val)
        {
            if (($key<>"") && ($val<>""))
            {
                $retArray[$key] = $val;
            }
        }
        return $retArray;
    }
    
  15. ==============================

    15.이 짧은 & 달콤한 코드를 시도하십시오 -

    이 짧은 & 달콤한 코드를 시도하십시오 -

    $array = array (1,4,2,1,7,4,9,7,5,9);
    $unique = array();
    
    foreach($array as $v){
      isset($k[$v]) || ($k[$v]=1) && $unique[] = $v;
      }
    
    var_dump($unique);
    

    출력 -

    array(6) {
      [0]=>
      int(1)
      [1]=>
      int(4)
      [2]=>
      int(2)
      [3]=>
      int(7)
      [4]=>
      int(9)
      [5]=>
      int(5)
    }
    
  16. ==============================

    16.함수를 통해 수행 할 수 있습니다. 함수를 통해 수행 할 수 있습니다. 세 번째 함수 중복을 반환합니다. 배열에서 중복되는 값을 반환합니다. 두 번째 함수는 단일 값을 반환합니다. 배열과 세 번째 및 전체 함수에서 반복되지 않음을 의미합니다. 모든 값을 반환하지만 값이 중복되지는 않습니다. 그것을 하나로 변환한다.

    함수를 통해 수행 할 수 있습니다. 함수를 통해 수행 할 수 있습니다. 세 번째 함수 중복을 반환합니다. 배열에서 중복되는 값을 반환합니다. 두 번째 함수는 단일 값을 반환합니다. 배열과 세 번째 및 전체 함수에서 반복되지 않음을 의미합니다. 모든 값을 반환하지만 값이 중복되지는 않습니다. 그것을 하나로 변환한다.

    function duplicate($arr){
        $duplicate;
        $count=array_count_values($arr);
        foreach($arr as $key=>$value){
            if($count[$value]>1){
                $duplicate[$value]=$value;
            }
    
        }
        return $duplicate;
    
    }
    function single($arr){
        $single;
        $count=array_count_values($arr);
        foreach($arr as $key=>$value){
            if($count[$value]==1){
                $single[$value]=$value;
            }
        }
        return $single;
    }
    function full($arr,$arry){
        $full=$arr+$arry;
        sort($full);
        return $full;
    
    }
    

    }

  17. ==============================

    17.

    <?php
    $arr1 = [1,1,2,3,4,5,6,3,1,3,5,3,20];    
    print_r(arr_unique($arr1));
    
    
    function arr_unique($arr) {
      sort($arr);
      $curr = $arr[0];
      $uni_arr[] = $arr[0];
      for($i=0; $i<count($arr);$i++){
          if($curr != $arr[$i]) {
            $uni_arr[] = $arr[$i];
            $curr = $arr[$i];
          }
      }
      return $uni_arr;
    }
    
  18. ==============================

    18.이를 수행하는 방법은 여러 가지가있을 수 있습니다.

    이를 수행하는 방법은 여러 가지가있을 수 있습니다.

    //first method
    $filter = array_map("unserialize", array_unique(array_map("serialize", $arr)));
    
    //second method
    $array = array_unique($arr, SORT_REGULAR);
    
  19. ==============================

    19.나는 어떤 기능을 사용하지 않고 이것을했다.

    나는 어떤 기능을 사용하지 않고 이것을했다.

    $arr = array("1", "2", "3", "4", "5", "4", "2", "1");
    
    $len = count($arr);
    for ($i = 0; $i < $len; $i++) {
      $temp = $arr[$i];
      $j = $i;
      for ($k = 0; $k < $len; $k++) {
        if ($k != $j) {
          if ($temp == $arr[$k]) {
            echo $temp."<br>";
            $arr[$k]=" ";
          }
        }
      }
    }
    
    for ($i = 0; $i < $len; $i++) {
      echo $arr[$i] . " <br><br>";
    }
    
  20. from https://stackoverflow.com/questions/307650/how-to-remove-duplicate-values-from-an-array-in-php by cc-by-sa and MIT license