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

WBOY
Release: 2016-06-13 13:21:28
Original
851 people have browsed it

关于避免插入重复数据并统计重复数据的数量的问题
有一组数据需要插入数据库,比如从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>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template