[PHP] 將陣列中重複的值刪除最好方法 array_flip (移除陣列中重複的值)
使用 array_flip 比 array_unique 來的快速 參考連結: http://stackoverflow.com/questions/8321620/array-unique-vs-array-flip 上述網址提供的範例: http://codepad.org/AnpS69yw 用途: // 使用前的陣列 Array ( [0] => 8 [1] => 9 [2] => 10 [3] => 11 [4] => 10 [5] => 11 [6] => 8 [7] => 9 ) // 使用後的陣列 Array ( [6] => 8 [7] => 9 [4] => 10 [5] => 11 ) 底下為比較刪除重複值的方式有3種,array_flip快於 array_unique和array_keys 的測試 $test=array(); for($run=0; $run<1000; $run++) $test[]=rand(0,100); $time=microtime(true); for($run=0; $run<100; $run++) $out=array_unique($test); $time=microtime(true)-$time; echo 'Array Unique: '.$time."\n"; //----------------------------------------------- $time=microtime(true); for($run=0; $run<100; $run++) $out=array_keys(array_flip($test)); $time=microtime(true)-$time; echo 'Keys Flip: '.$time."\n"; //----------------------------------------------- $time=microtime(true); for($r