100 万行を超える uid リストを取得する場合、形式は次のとおりです。
コードをコピー コードは次のとおりです:
10001000
10001001
10001002
....
10001000
....
10001111 重複を整理するには、まず、 PHP 配列の定義を見てください。PHP の配列は実際には順序付きマップです。マップはキーに値を関連付けるタイプです。この型はさまざまな方法で最適化されているため、実数の配列、リスト (ベクトル)、ハッシュ テーブル (マップの実装)、ディクショナリ、セット、スタック、キューなどとして扱うことができます。さらなる可能性を。配列要素の値を別の配列にすることもできます。ツリー構造と多次元配列も許可されます。
コードは次のとおりです。 //重複排除後に結果を格納する配列を定義します
$result = array (); 🎜>//uid リスト ファイルを読み取ります
$fp = fopen('test.txt', 'r');
while(!feof($fp))
{
$ uid = fgets($fp);
$uid = トリム($uid);
$uid = トリム($ uid, "n") );
if($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) ;
?>
20 行を超えるコードで、100 万を超えるデータを重複排除できます。効率も良く、非常に実用的です。携帯電話番号と電子メールもこの方法で重複を排除できます。
また、この方法は 2 つの uid リスト ファイルがある場合、その形式は次のとおりです。
//重複排除後の結果を保存する配列を定義します$result = array(); //最初の uid リスト ファイルを読み込み、$result_1
$fp = fopen('test_1.txt', 'r'); ($fp)){
$uid = fgets($fp);
$uid = トリム($uid, "r") ; 🎜>$uid = trim($uid, "n");
if($uid == '')
{
Continue;
}
//Uid がキーです$result に書き込まれます。重複がある場合は上書きされます。
fclose($fp);ファイルをリストし、重複排除操作を実行します。
$fp = fopen('test_2.txt', 'r');
while(!feof($fp))
{
$uid = fgets( $ fp);
$uid = トリム($uid, "r"); > if($uid == '')
{
Continue;
}
//値が存在するかどうかを確認するために uid を使用します
if(empty($result[$uid) ] ))
{
$result[$uid] = 1;
}
}
fclose($fp); // $result に保存されるのは重複排除後です結果はファイルに出力でき、コードは省略されます
よく考えてみると、配列のこの機能を使用することで解決できることがわかります。私たちの仕事にさらなる問題が生じます。