重複データの挿入回避と重複データ数のカウントの問題について
EXCELからMYSQLデータベースにデータセットをインポートするなど、データベースに挿入する必要があるデータセットがあります。ここでいう重複とは、特定のフィールドの繰り返しではなく、複数のフィールドの組み合わせの繰り返しを指します。例:
id name content
1 Zhang San Eats
2 Li Si Eats
3 張三は水を飲みます
と同様に、名前フィールドと内容フィールドの値が繰り返される場合、たとえば、別の「張三、食事をします。」を挿入すると、繰り返しとみなされます。 」と入力すると、繰り返しを求めるプロンプトが表示され、繰り返しの回数と挿入されたデータの数がカウントされます。PHP ステートメントを見つけます。
-----解決策---------
$excelData = 配列( array('張三', '食べる'), array('李思', '食べる'), array('張三', '水を飲む'), array('John Doe', 'eating'), // 繰り返し array('張三', '水を飲む') // 繰り返し ); $mark = array(); // 一意の識別子として使用されます。 foreach ($excelData as $key => $arr) { $md5Mark = md5($arr[0] . $arr[1]); if (isset($mark[$md5Mark])) { unset($excelData[$key]); } それ以外 { $mark[$md5Mark] = 1; } } // この時点では、$excelData を判断せずに操作できます。もちろん、SQL ステートメントを直接組み合わせたり、else にデータベース操作を記述したりすることもできます。 p($excelData); /* 出力: 配列 ( [0] => 配列 ( [0] => チャン・サン [1] =>食べる ) [1] => 配列 ( [0] => [1] =>食べる ) [2] => 配列 ( [0] => チャン・サン [1] =>水を飲む ) ) */ <div class="clear"></div>