四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

PHP的array_diff()函數在處理大數組時的效率問題

cisa 提交到 php 官方 BUG 頁面上的方法
復制代碼 代碼如下:
<?php
/**
* 解決 php 5.2.6 以上版本 array_diff() 函數在處理
* 大數組時的需要花費超長時間的問題
*
* 整理:http://www.CodeBit.cn
* 來源:http://bugs.php.NET/47643
*/
function array_diff_fast($data1, $data2) {
$data1 = array_flip($data1);
$data2 = array_flip($data2);
foreach($data2 as $hash => $key) {
if (isset($data1[$hash])) unset($data1[$hash]);
}
return array_flip($data1);
}
?>

根據 ChinaUnix 論壇版主 hightman 思路重寫的方法
復制代碼 代碼如下:
<?php
/**
* 解決 php 5.2.6 以上版本 array_diff() 函數在處理大數組時的效率問題
* 根據 ChinaUnix 論壇版主 hightman 思路寫的方法
*
* 整理:http://www.CodeBit.cn
* 參考:http://bbs.chinaunix.NET/viewthread.php?tid=938096&rpid=6817036&ordertype=0&page=1#pid6817036
*/
function array_diff_fast($firstArray, $secondArray) {
// 轉換第二個數組的鍵值關系
$secondArray = array_flip($secondArray);
// 循環第一個數組
foreach($firstArray as $key => $value) {
// 如果第二個數組中存在第一個數組的值
if (isset($secondArray[$value])) {
// 移除第一個數組中對應的元素
unset($firstArray[$key]);
}
}
return $firstArray;
}
?>

此方法只交換了第二個數組的 key 和 value,所以效率更高。
注意:php 內置的 array_diff() 函數可以處理多個數組,而本文提供的方法只處理了兩個數組的比較。

php技術PHP的array_diff()函數在處理大數組時的效率問題,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 接吻教学视频| 陈诗雅韩国演员| 甜蜜都市| 新爱情乐园| 83版霍元甲全部演员表| kaori全部av作品大全| jjdd| 露底| 动漫秀场| heidi klum| 一夜风流| 激情戏车震| 吃甜品视频| 超越天堂菲律宾| 草船借箭剧本| 公主们的战国| 舌吻床戏视频| 美女全身透明衣服| 人机头像| 台风电影| 电视剧警察锅哥免费观看全集| 瑜伽焰口全集 简体字| 红海行动2虎鲸行动| 一级片,| cctv神断狄仁杰第四部免费观看 | 忍石| 九号所有车型图片| 一起再看流星雨| 巨神战击队| 汤姆·威尔金森| 秀人网xiuren大尺度| 美女舌吻| 欧美一级大胆视频| 彭丹三级裸奶视频| 《一生一世》免费观看完整版| 成人免费视频观看视频| 陈一| 风月电视剧免费观看剧情 | 变形记开头结尾优美段落| 刘浩存个人简历资料| 汤姆·威尔金森|