1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > PHP的array_diff()函数在处理大数组时的效率问题【PHP】

PHP的array_diff()函数在处理大数组时的效率问题【PHP】

时间:2019-02-12 01:23:19

相关推荐

PHP的array_diff()函数在处理大数组时的效率问题【PHP】

后端开发|php教程

array_diff,大数组

后端开发-php教程

cisa 提交到 PHP 官方 BUG 页面上的方法

手机发送短信源码,ubuntu进入桌面缓慢,潇湘小说排行爬虫,php readdir,南头seo优化lzw

<?php

/**

* 解决 php 5.2.6 以上版本 array_diff() 函数在处理

* 大数组时的需要花费超长时间的问题

*

* 整理:

* 来源:/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 思路重写的方法

asp 建站系统源码,vscode暂停,ubuntu 安装pdo,tomcat。 404,手机app sqlite,magento专用服务器,国产免插件在线,php前端常用框架,哈尔滨 爬虫,php写框架,网站seo推广营销,淘宝客类网站,网页滑动条代码,dedecms模板手册,页面源码可以修改吗,c 仓储管理系统,.net公众号小程序开发lzw

<?php

/**

* 解决 php 5.2.6 以上版本 array_diff() 函数在处理大数组时的效率问题

* 根据 ChinaUnix 论坛版主 hightman 思路写的方法

*

* 整理:

* 参考:/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 官网源码,ubuntu开机刷代码,n1搭建tomcat服务器,防爬虫代理ip,php搭建网站教程视频学习,seo优化资源lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。