ホームページ > バックエンド開発 > PHPチュートリアル > PHP の数百万のデータから重複データを除外する実装コード array_PHP チュートリアル

PHP の数百万のデータから重複データを除外する実装コード array_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:37:30
オリジナル
956 人が閲覧しました

100 万行を超える uid リストを取得する場合、形式は次のようになります:

コードをコピーします コードは次のとおりです:

10001000
10001001
10001002
......
10001000
.... .
10001111

実際、PHP 配列の特性を利用して複製を実行するのは簡単です。まず PHP 配列の定義を見てみましょう。PHP の配列は実際には順序付きマップです。 。マップはキーに値を関連付けるタイプです。この型はさまざまな方法で最適化されているため、実数の配列、リスト (ベクトル)、ハッシュ テーブル (マップの実装)、ディクショナリ、セット、スタック、キューなどとして扱うことができます。さらなる可能性を。配列要素の値を別の配列にすることもできます。ツリー構造と多次元配列も許可されます。

PHP 配列では、キーはインデックスとも呼ばれ、重複を排除するためにこの機能を使用できます。 サンプルコードは次のとおりです:
コードをコピーします コードは次のとおりです。 ;?php
//重複排除後に結果を保存する配列を定義します
$result = array();
//uid リスト ファイルを読み取ります
$fp = fopen('test.txt', 'r' ); while(!feof($fp))
{
$uid = fgets($fp);
$uid = トリム($uid, "r"); ($uid, "n");

if($uid == '')
{
continue;
}
//値が存在するかどうかを確認するために uid を使用します
if($ result[$ uid]))
{
$result[$uid] = 1;
}
}

fclose($fp);
$content = ''; $k => $v)
{
$content .= $k."n"
}
$fp = fopen('result.txt', 'w'); );
fclose($fp)?>携帯電話番号と電子メールもこの方法で重複を排除できます。

また、この方法は 2 つのファイルの重複排除にも使用できます。形式は上記の uid リストと同じです:



コードをコピーします。コードは次のとおりです:


//重複排除後に結果を保存する配列を定義します
$result = array();
//最初の uid リスト ファイルを読み取り、$result_1 に配置します
$ fp = fopen('test_1.txt', 'r');
while(!feof($fp))
$uid = fgets($fp); = トリム($uid, "r");
$uid = トリム($uid == '')
{
続行;
} //uid をキーとして書き込みます$result を入力します。重複がある場合は上書きされます。 $result[$uid] = 1; fclose($fp); = fopen('test_2.txt', 'r'); while(!feof($fp))
$uid = fgets($fp);
$uid =トリム ($uid, "r");
$uid = trim($uid == '')
{
continue;
//uid をキーとして使用します値が存在するかどうかを確認します
if(empty($result[$uid]))
{
$result[$uid] = 1;
}
}
fclose($fp);結果はソートされます。後の結果はファイルに出力でき、コードは省略されます


よく考えてみると、配列のこの機能を使用すると、より多くの問題を解決できることがわかります。私たちの仕事。



http://www.bkjia.com/PHPjc/321981.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/321981.html

技術記事

100 万行を超える uid リストを取得する場合、形式は次のようになります。 コードを次のようにコピーします。 10001000 10001001 10001002... 10001000... 10001111 実際には、PHP 配列を使用します...





ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート