ホームページ >バックエンド開発 >PHPチュートリアル >PHP が数百万のデータを迅速に並べ替える方法の詳細な説明
私は日常の仕事で、サイト内の手紙、携帯電話のテキスト メッセージ、電子メールを通じて Web サイトのメンバーにグループ メッセージを送信する通知を受け取ることがよくありますが、通常、ユーザー リストは他の同僚によって提供されるため、必然的に重複が生じます。繰り返しの送信を避けるため、情報を送信する前に、提供されたユーザーリストを重複排除する必要があります。次に、uid リストを使用して、php 配列を使用して重複を排除する方法について説明します。お役に立てれば幸いです。
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 = trim($uid);
$uid = trim($uid, "\r");
$uid = trim($uid, "\n");
if($uid == '')
{
continue;
}
//以uid为key去看该值是否存在
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);
?> 以上がPHP が数百万のデータを迅速に並べ替える方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。