PHPで重複排除する大規模データ処理法
PHP重複データ削除手法には、いくつかの方法があります。以下はそのうちの一般的です。
- 配列で重複排除する: データを配列に格納し、配列のキーの一意性を活用して重複排除する。例:
$data = [1, 2, 3, 2, 4, 5, 1];
$result = array_unique($data);
print_r($result); // 输出:Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 4 [5] => 5 )
- データベースで重複を削除する: データをデータベースのテーブルにインポートして、データベースのユニーク制約を利用して重複の削除を行う。
$data = [1, 2, 3, 2, 4, 5, 1];
$connection = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");
$connection->exec("CREATE TABLE IF NOT EXISTS mytable (id INT PRIMARY KEY)");
foreach ($data as $value) {
$connection->exec("INSERT IGNORE INTO mytable (id) VALUES ($value)");
}
$result = $connection->query("SELECT id FROM mytable")->fetchAll(PDO::FETCH_COLUMN);
print_r($result); // 输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
- ハッシュ算法で重複を削除: データをハッシュ計算し、ハッシュ値を配列内のキーとして格納して、キーの一意性を活用して重複を削除します。
$data = [1, 2, 3, 2, 4, 5, 1];
$result = [];
foreach ($data as $value) {
$result[hash('sha256', $value)] = $value;
}
$result = array_values($result);
print_r($result); // 输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
大量のデータを対象にした手法で、目的に応じて適切な手法を選択することができます。