PHP 检查数组中的条目是否有重复项

标签 php mysql arrays

我想从我的 MySQL 表中取出所有记录并检查是否有重复项。我的想法是将它们全部存储在一个数组中,然后检查数组是否有重复项。问题是,我的 MySQL 表中有大约 150 万行。

到目前为止,这是我的代码:

<?php

$con = mysql_connect('localhost', 'root', '');
$sel = mysql_select_db('usraccts', $con);

$users = array();

$q = "SELECT usrname FROM `users`";
$r = mysql_query($q, $con);

while($row = mysql_fetch_assoc($r))
{
 $users[] = $row['usrname'];
}

print_r($emails);

?>

我不确定如何调整它来检查数组条目中的重复项,尤其是有 150 万个重复项:|

感谢您的帮助。

最佳答案

你可以在 MYSQL 中使用类似的东西来完成

SELECT usrname, COUNT(usrname) as duplicates FROM `users` WHERE duplicates > 1 GROUP BY usrname

显然返回的所有 usrname 都有重复项

关于PHP 检查数组中的条目是否有重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2002677/

相关文章:

php - 根据 Woocommerce 选择的付款方式更改结账时的付款按钮

c# - 如何重新初始化数组?

JavaScript:根据条件创建二维对象数组

php - 没有while循环的多选查询MySQL

php - Python 脚本中关于 str(sys.argv[1]) 的错误

php - 将脚本从 PHP 5.6 移至 PHP 7

mysql - 使用 DATEADD 从数据库中删除记录的 SQL 问题

php - 在 PHP 中编写 MySQL 查询以获取数组组并输出为 JSON

php - MySQL查询具有特定字段的最后一行

php - 为什么 Zend_Db_Adapter 比 mysql_query 慢很多