关于避免插入重复数据并统计重复数据的数量的有关问题

WBOY
Libérer: 2016-06-13 13:21:28
original
851 Les gens l'ont consulté

关于避免插入重复数据并统计重复数据的数量的问题
有一组数据需要插入数据库,比如从EXCEL导入一组数据到MYSQL数据库,如何避免重复插入,这里所指的重复并不是指某一个字段的重复,而是多个字段组合的重复,比如:
id name content  
1 张三 吃饭  
2 李四 吃饭
3 张三 喝水

如上,如果name 和 content字段的值都重复才算重复,比如再插入一条"张三,吃饭"就提示重复并统计出重复的数量和已插入数据的数量,求PHP语句。

------解决方案--------------------

PHP code
$excelData = array(
    array('张三', '吃饭'),
    array('李四', '吃饭'),
    array('张三', '喝水'),
    array('李四', '吃饭'),// 重复
    array('张三', '喝水') // 重复
);

$mark = array(); // 用来当作唯一标识
foreach ($excelData as $key => $arr) {
    $md5Mark = md5($arr[0] . $arr[1]);
    if (isset($mark[$md5Mark])) {
        unset($excelData[$key]);
    } else {
        $mark[$md5Mark] = 1;
    }
}

// 此时你就可以操作$excelData而不用判断了,当然了你也可以直接在else中进行sql语句的组合或者数据库写入操作
p($excelData);
/*
输出:
Array
(
    [0] => Array
        (
            [0] => 张三
            [1] => 吃饭
        )

    [1] => Array
        (
            [0] => 李四
            [1] => 吃饭
        )

    [2] => Array
        (
            [0] => 张三
            [1] => 喝水
        )

)
*/ <div class="clear">
                 
              
              
        
            </div>
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal