一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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()函數在處理大數組時的效率問題,轉載需保留來源!

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

主站蜘蛛池模板: 久996视频精品免费观看 | 国产人成精品午夜在线观看 | 国产女人综合久久精品视 | 久久亚洲国产最新网站 | 色综合五月婷婷 | 久久国产一区二区三区 | 综合激情网站 | 91精品视频在线观看免费 | 国产在线视频二区 | 欧美变态老妇重口与另类 | 亚洲成人77777 | 国产成人一区二区三区影院免费 | 国产日韩精品一区在线不卡 | 精品自拍视频在线观看 | 欧美系列第一页 | 国产激情一区二区三区成人91 | 性感一级毛片 | 日本高清色视频www 日本高清色视频在线观看免费 | 国产原创中文视频 | 天天干精品 | 亚洲国产激情 | 91精品国产自产在线观看 | 72成人网| 色老板免费观看在线播放 | 韩国美女一级毛片 | 久久福利国产 | 久久影院中文字幕 | 91国内揄拍·国内精品对白 | 日本福利片国产午夜久久 | 综合久久久久 | 亚洲一区二区三区首页 | 日韩色爱| 国产在线小视频 | 久久网站免费 | 最新国产精品自拍 | 欧洲一卡2卡三卡4卡免费观看 | 最新国产福利在线 | 天天摸天天爽视频69视频 | 成年美女黄网站色大片免费软件看 | 护士freesex欧美 | 视色4se影院在线播放 |