Heim  >  Artikel  >  Backend-Entwicklung  >  关于避免插入重复数据并统计重复数据的数量的有关问题

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

WBOY
WBOYOriginal
2016-06-13 13:21:28845Durchsuche

关于避免插入重复数据并统计重复数据的数量的问题
有一组数据需要插入数据库,比如从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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel: 请问PHP全局变量有关问题 Nächster Artikel: xampp忽然出错了