php配列脱重

3009 ワード

配列内の重複項目の除去
1 D配列の重複:
array_の使用Unique関数でいいです.使用例は次のとおりです.
              
              

結果は以下の通りである:Array([0]=>apple[1]=>banaa[2]=>pear[4]=>wail[5]=>watermalon).
2 D配列の重複:
2 D配列については、あるキー名の値が重複できないため、重複項目を削除する2つの状況に分けて議論します.もう1つは、内部の1次元配列が完全に同じではないため、重複項目を削除します.次に例を示します.
あるキー名の値が重複できないため、重複項目を削除する
          
  $v)
              {
                 if(in_array($v[$key], $tmp_arr))//  $v[$key]   $tmp_arr     ,     true
                {
                   unset($arr[$k]);
                }
              else {
                  $tmp_arr[] = $v[$key];
                }
              }
            sort($arr); //sort         
            return $arr;
            }
            $aa = array(
            array('id' => 123, 'name' => '  '),
            array('id' => 123, 'name' => '  '),
            array('id' => 124, 'name' => '  '),
            array('id' => 125, 'name' => '  '),
            array('id' => 126, 'name' => '  ')
            );
            $key = 'id';
            assoc_unique(&$aa, $key);
            print_r($aa);
     ?>

表示結果は、Array([0]=>Array([id]=>123[name]=>張三)[1]=>Array([id]=>124[name]=>王五)[2]=>Array([id]=>125[name]=>趙六)[3]=>Array([id]=>126[name]=>趙六))
二内部の一次元配列が完全に同じではないため、重複項目を削除する
           
  $v){
                    $temp[$k] = explode(",",$v);   //           
                }
                return $temp;
            }
            $aa = array(
            array('id' => 123, 'name' => '  '),
            array('id' => 123, 'name' => '  '),
            array('id' => 124, 'name' => '  '),
            array('id' => 123, 'name' => '  '),
            array('id' => 126, 'name' => '  ')
            );
            $bb=array_unique_fb($aa);
            print_r($bb)
  ?>

表示結果:Array([0]=>Array([0]=>123[1]=>張三)[1]=>Array([0]=>>123[1]=>李四)[2]=>Array([0]=>>124[1]=>王五)[4]=>Array([0]=>126[1]=>趙六))