> 백엔드 개발 > PHP 튜토리얼 > A列30000条数据,B列8000条数据,找出相同两列相同的值,php实现

A列30000条数据,B列8000条数据,找出相同两列相同的值,php实现

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-06 20:33:59
원래의
1091명이 탐색했습니다.

A列有30000条数据,B列8000条数据,查找出两列相同的值有多少,并且列出明细,数据类型是int,用php语言如何实现?我的思路是把两列转换成数组,然后进行对比,但是需要循环30000*8000次,想想也是蛋疼,如何把30000条数据合理的切割开,然后在进行对比呢?求大神思路

回复内容:

A列有30000条数据,B列8000条数据,查找出两列相同的值有多少,并且列出明细,数据类型是int,用php语言如何实现?我的思路是把两列转换成数组,然后进行对比,但是需要循环30000*8000次,想想也是蛋疼,如何把30000条数据合理的切割开,然后在进行对比呢?求大神思路

mod区间,简单来拿 {1-100} 和 {2,13,24,35} 来说,
可以每10是一个区间,即 0-9, 10-19 ……
那么0-9 只需要和 2进行对比即可,而不需要和13,24,35进行对比
而 0-9 只需要进行一个mod运算 + 2的mod运算 + 0-9 和2的对比
比之前的 0-9 要和 {2,13,24,35} 都要一一对比好的多

SELECT * FROM test WHERE a=b;

补充:

你拿着8000条的那份数据,一条一条在30000里查,也就只需要8000次而已吧。

php数组有计算交集的方法,array_intersect

관련 라벨:
php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿