>  기사  >  백엔드 개발  >  PHP 배열 PHP 배열은 수백만 개의 데이터에서 중복 데이터를 제외하는 코드를 구현합니다.

PHP 배열 PHP 배열은 수백만 개의 데이터에서 중복 데이터를 제외하는 코드를 구현합니다.

WBOY
WBOY원래의
2016-07-29 08:43:021079검색

백만 행이 넘는 uid 목록을 얻는 경우 형식은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.


10001000
10001001
10001002
......
10001000
...... 중복을 정리하기 위해 먼저 정의를 살펴보겠습니다. PHP 배열: PHP의 배열은 실제로 순서가 지정된 맵입니다. 맵은 값을 키에 연결하는 유형입니다. 이 유형은 여러 가지 방법으로 최적화되어 있으므로 실제 배열이나 목록(벡터), 해시 테이블(맵 구현), 사전, 세트, ​​스택, 큐 및 더 많은 가능성으로 처리될 수 있습니다. 배열 요소의 값은 다른 배열일 수도 있습니다. 트리 구조와 다차원 배열도 허용됩니다.
PHP 배열에서 키는 인덱스라고도 하며 이 기능을 사용하여 중복 제거를 수행할 수 있습니다. 샘플 코드는 다음과 같습니다.



코드 복사

코드는 다음과 같습니다.//중복 제거 후 결과를 저장할 배열 정의

$result = array()// uid 목록 파일 읽기

$fp = fopen('test.txt', 'r')
while(!feof($fp))
{
$uid = fgets($fp) ;
$uid = 트림($uid);
$uid = 트림($uid, "r")
$uid = 트림($uid, "n")
$uid == '')
{
continue;
}
//값이 존재하는지 확인하는 키로 uid를 사용합니다.
if(empty($result [$uid]) )
{
$result[$uid] = 1;
}
}
fclose($fp)
//결과를 파일에 저장
$content = '';
foreach($result as $k => $v)
{
$content .= $k."n"
}
$ fp = fopen(' result.txt', 'w');
fwrite($fp, $content);
fclose($fp)
?> 


한 줄의 코드로 백만 개 이상의 데이터를 중복 제거할 수 있으며 효율성도 좋고 매우 실용적입니다. 휴대폰 번호와 이메일도 이 방법으로 중복 제거될 수 있습니다.
또한 이 방법을 사용하여 두 개의 uid 목록 파일이 있는 경우 형식은 위의 uid 목록과 동일합니다.


코드 복사

코드는 다음과 같습니다.

//중복 제거 후 결과를 저장할 배열 정의$ result = array();

//첫 번째 uid 목록 파일을 읽고 $result_1에 넣습니다.

$fp = fopen('test_1.txt', 'r')
while(!feof( $fp))
{
$uid = fgets($fp);
$uid = 트림($uid)
$uid = 트림($uid, "r"); >$uid = Trim($uid, "n");
if($uid == '')
{
continue;
}
//키 $로 쓰기 결과, 중복이 있으면 덮어씁니다.
$result[$uid] = 1
}
fclose($fp)
//두 번째 uid 목록 파일을 읽고 진행합니다. 중복 제거 작업
$fp = fopen('test_2.txt', 'r');
while(!feof($fp))
{
$uid = fgets($fp)
$uid = 트림($uid);
$uid = 트림($uid, "r")
$uid = 트림($uid, "n")
if($ uid == '')
{
continue;
}
//값이 존재하는지 확인하기 위해 uid를 키로 사용
if(empty($result[$uid]))
{
$result[$uid] = 1;
}
}
fclose($fp)
//$result에 저장된 결과는 중복 제거 후의 결과입니다. 파일로 출력, 코드 생략
?>


곰곰이 생각해 보면 배열의 이 기능을 사용하면 우리 작업에서 더 많은 문제를 해결할 수 있다는 것을 어렵지 않게 찾을 수 있습니다.
위 내용은 PHP 배열의 내용을 포함하여 수백만 개의 데이터에서 중복된 데이터를 제거하기 위한 PHP 배열의 구현 코드를 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.