php - 检查数组中的重复条目,但仅返回重复的值
问题描述
我试图在数组中搜索重复记录......很容易......
但是我只希望它返回重复的值。我不希望它显示带有计数的整个数组值(有超过 4 亿个条目)
这是我尝试过的代码(它可以打印所有值,但不是我想要的)
$query = mysqli_query($dbc, "SELECT * FROM `barcodes`");
while ($row = mysqli_fetch_row($query))
{
$result_array[] = $row[16];
}
print_r(array_count_values($result_array));
如果有人可以帮助我,我将不胜感激,因为我已经搜索了 google 和 SO 一个多小时,但没有找到我想要的
阵列打印样本
[502185864797] => 1
[502185864798] => 1
[502185864799] => 1
[502185864800] => 1
[502185864801] => 2
[502185864802] => 2
[502185864803] => 2
[502185864804] => 2
[502185864805] => 2
[502185864806] => 2
我只希望显示计数 > 1 的值
解决方案
根据您想要显示的内容(例如,这只是给出一行的 ID),最好在 SQL 中尝试它......
SELECT ID
FROM `barcodes`
GROUP BY ID
HAVING count(ID)>1
这个想法是只检索计数值大于一的 ID。
所以这看起来像......
$query = mysqli_query($dbc, "SELECT barcode
FROM `barcodes`
GROUP BY barcode
HAVING count(barcode)>1");
$result_array = mysqli_fetch_all($query, MYSQLI_ASSOC);
print_r($result_array);
如果你想知道它存在的次数,只需将计数添加到 SELECT 列表中......
SELECT ID, count(ID) times
FROM `barcodes`
GROUP BY ID
HAVING count(ID)>1
推荐阅读
- java - 在 Java 中比较两个对象与 int 和 string 参数
- javascript - 为什么我的可注入角度服务类没有按预期保存类变量?
- java - 编写 Classes 类然后实现它们
- javascript - 是否可以同时更改克隆和原始元素?- jQuery
- java - 在运行时将类从一个更改为另一个
- sql - 获取 Max(Amount) 和关联的类型
- reactjs - 在反应 js 中切换显示/隐藏 li 上的“活动”类
- avro - 使用 Kafka binder 重播 Spring Cloud Stream 中的死信队列中的消息
- c++ - 带有可变参数的 std::function 列表如何工作
- c - 尝试通过数组打印用户输入时出现意外输出