cisa 提交到PHP 官方BUG 頁面上的方法
複製程式碼 程式碼如下:
/**
* 解決php 5.2.6 以上版本array_diff() 函數在處理
* 大數組時的需要花費超長時間的問題
*
* 整理:http://www.CodeBit.cn
* 來源:http:/ /bugs.php.net/47643
*/
function array_diff_fast(/**
* 解決php 5.2.6 以上版本array_diff() 函數在處理大數組時的效率問題
* 根據ChinaUnix 論壇版主hightman 思路寫的方法
*
* 整理:http://www.CodeBit.cn
*
* 整理:http://www.CodeBit.cn
*參考:http://bbs.chinaunix.net/viewthread.php?tid=938096&rpid=6817036&ordertype=0&page=1#pid6817036
*/
function array_diff,$1($1) = array_flip($data1);
} return array_flip($data1); } return array_flip($data1); }
?>
根據ChinaUnix 論壇版主hightman 思路重寫
/**&*/
function array_diff_fast($firstArray, $secondArray) {
// 轉換第二個陣列的鍵值關係
/$secondArray = array_flip($secondArray);
foreach($firstArray as $key => $value) {
// 如果第二個陣列中存在第一個陣列的值
if (isset($secondArray[$value])) {
// 移除第一個陣列中對應的元素
unset($firstArray[$key]);
}
}
return $firstArray;
}
?>