ホームページ  >  記事  >  バックエンド開発  >  重複データの挿入の回避と重複データの数のカウントに関する質問

重複データの挿入の回避と重複データの数のカウントに関する質問

WBOY
WBOYオリジナル
2016-06-13 13:21:28821ブラウズ

重複データの挿入回避と重複データ数のカウントの問題について
EXCELからMYSQLデータベースにデータセットをインポートするなど、データベースに挿入する必要があるデータセットがあります。ここでいう重複とは、特定のフィールドの繰り返しではなく、複数のフィールドの組み合わせの繰り返しを指します。例:
id name content
1 Zhang San Eats
2 Li Si Eats
3 張三は水を飲みます

と同様に、名前フィールドと内容フィールドの値が繰り返される場合、たとえば、別の「張三、食事をします。」を挿入すると、繰り返しとみなされます。 」と入力すると、繰り返しを求めるプロンプトが表示され、繰り返しの回数と挿入されたデータの数がカウントされます。PHP ステートメントを見つけます。

-----解決策---------

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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。