去除數組中重複的元素

最近公司導入數據須要先去掉數組中的重複的手機號元素,在導入數據庫中,因此看了一下這幾種去重的方法的效率數據庫

/*
* 去重效率的比較
* 10W 個元素 
* array_unique 大約900ms左右 
* array_flip  大約10~15ms左右 
* foreach 循環去重  大約20ms左右 
* */


public function index() {
    // 建立100000個隨機元素的數組
    for($i=0; $i<100000; $i++){
        $arr[] = mt_rand(1,1000);
    }

    $arr = array_unique($arr);


    $arr = array_flip($arr);
    $arr = array_keys(array_flip($arr));
    //$arr = array_keys($arr);  //使用array_keys 翻轉後,鍵名順序排 和再次使用array_flip的時間同樣



    foreach($arr as $k=>$val) {
        $date[$val] = $val;
    }
    unset($arr); 
}
相關文章
相關標籤/搜索