如何计算并显示 php 字符串中的重复项?
How to count and show duplicate in php string?
要创建排名,我想计算并显示字符串中的重复条目
<?php
$orgasql = "SELECT organisateur FROM events ";
$orgareq = $bdd->prepare($orgasql);
$orgareq->execute();
while($eventrow = $orgareq->fetch(PDO::FETCH_ASSOC)) {
$eventorgaas[] = $eventrow['organisateur'];
}
$eventimploded = implode(',',$eventorgaas);
$eventimploded = implode(',',array_unique(explode(',', $eventimploded)));
echo $eventimploded
?>
当前代码returns这个结果:
Holyblood,Nessy,Pokégaia,Sorrow,JOHN
我希望结果是这样的:
Holyblood - 2 ,Nessy - 1,Pokégaia - 1,Sorrow -1,JOHN -1
(我的数据库中有两次 "Holyblood" 出现,array_unique 删除重复项)
你可以用 sql
select organisateur, count(*) my_count
from events
group by organisateur
或
select concat(organisateur, ' - ' , count(*)) my_result
from events
group by organisateur
只需按 organisateur
对它们进行分组并计算它们的出现次数:
<?php
$orgasql = "SELECT organisateur, COUNT(*) as count FROM events GROUP BY organisateur";
$orgareq = $bdd->prepare($orgasql);
$orgareq->execute();
while($eventrow = $orgareq->fetch(PDO::FETCH_ASSOC)) {
$eventorgaas[] = $eventrow['organisateur'] . '-' . $eventrow['count'] ;
}
$eventimploded = implode(',',$eventorgaas);
echo $eventimploded
?>
要创建排名,我想计算并显示字符串中的重复条目
<?php
$orgasql = "SELECT organisateur FROM events ";
$orgareq = $bdd->prepare($orgasql);
$orgareq->execute();
while($eventrow = $orgareq->fetch(PDO::FETCH_ASSOC)) {
$eventorgaas[] = $eventrow['organisateur'];
}
$eventimploded = implode(',',$eventorgaas);
$eventimploded = implode(',',array_unique(explode(',', $eventimploded)));
echo $eventimploded
?>
当前代码returns这个结果:
Holyblood,Nessy,Pokégaia,Sorrow,JOHN
我希望结果是这样的:
Holyblood - 2 ,Nessy - 1,Pokégaia - 1,Sorrow -1,JOHN -1
(我的数据库中有两次 "Holyblood" 出现,array_unique 删除重复项)
你可以用 sql
select organisateur, count(*) my_count
from events
group by organisateur
或
select concat(organisateur, ' - ' , count(*)) my_result
from events
group by organisateur
只需按 organisateur
对它们进行分组并计算它们的出现次数:
<?php
$orgasql = "SELECT organisateur, COUNT(*) as count FROM events GROUP BY organisateur";
$orgareq = $bdd->prepare($orgasql);
$orgareq->execute();
while($eventrow = $orgareq->fetch(PDO::FETCH_ASSOC)) {
$eventorgaas[] = $eventrow['organisateur'] . '-' . $eventrow['count'] ;
}
$eventimploded = implode(',',$eventorgaas);
echo $eventimploded
?>