PHP is a popular server-side programming language that is widely used to develop web applications. In PHP development, operating databases is one of the very common requirements. When we get data from the database, data duplication often occurs. If we need to deduplicate these duplicate data, we can use PHP's array deduplication method to achieve it. This article will introduce how to use PHP to remove duplicate data from arrays and apply these operations to the database.
1. PHP array deduplication
1. Use the array_unique() function
PHP provides the array_unique() function to implement array deduplication. This function returns a deduplicated array without changing the original input array. Usage examples are as follows:
$array = array('a', 'b', 'c', 'd', 'a', 'b'); $result = array_unique($array); print_r($result);
Output:
Array ( [0] => a [1] => b [2] => c [3] => d )
2. Use the array_flip() and array_keys() functions
Another way is to use the array_flip() function to convert the array Exchange keys and values, and then use the array_keys() function to retrieve the key array. Because the key names are unique, this method can also achieve array deduplication. Usage examples are as follows:
$array = array('a', 'b', 'c', 'd', 'a', 'b'); $result = array_keys(array_flip($array)); print_r($result);
Output:
Array ( [0] => a [1] => b [2] => c [3] => d )
The implementation principles of the two methods are slightly different, but they can both achieve array deduplication. For arrays with small data sizes, both methods have no performance issues. But if you need to deduplicate an array with a large amount of data, the second method will perform better.
2. PHP array deduplication is applied to the database
Now assume that there is a students table with duplicate records, and the PHP deduplication function is used to deduplicate it and store it in a new students table. The code example is as follows:
connect_error) { die("Connection failed: " . $conn->connect_error); } //从students表中获取数据 $sql = "SELECT * FROM students"; $result = $conn->query($sql); //将数据存入一个数组 $array = array(); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $array[] = $row; } } //使用array_unique()函数进行数组去重 $unique = array_unique($array, SORT_REGULAR); //清空旧表 $sql = "TRUNCATE TABLE students"; $conn->query($sql); //将去重后的数据插入新表 foreach($unique as $row) { $sql = "INSERT INTO students (name,age,grade) VALUES ('" . $row['name'] . "'," . $row['age'] . "," . $row['grade'] . ")"; $conn->query($sql); } //关闭数据库连接 $conn->close(); ?>
In the code, we first connect to the database and obtain data from the students table, then store the data into an array, use the array_unique() function to deduplicate the array, and finally remove The repeated data is inserted into the new table.
3. Conclusion
This article introduces the method of using PHP array to remove duplicates, including using the array_unique() function and array_flip() function. These methods are effective means to achieve array deduplication. In addition, we also applied these methods to the database to complete the operation of removing duplicate records from the duplicate record table and storing them in a new table. This is a very common practical requirement in PHP development and can be used flexibly in actual development.
The above is the detailed content of php remove duplicate databases from array. For more information, please follow other related articles on the PHP Chinese website!