最近公司導入數據須要先去掉數組中的重複的手機號元素,在導入數據庫中,因此看了一下這幾種去重的方法的效率數據庫
/* * 去重效率的比較 * 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); }