Bonjour.

Voici une requête qui va chercher que ce qui se trouve à la première occurrence de la barre verticale
et en même temps éviter les doublons; ceci réussi très bien. Si je fais un foreach, ça fonctionne aussi.

Le résultat qui en sortira ce sont les navigateurs avec leur numéro de version.

Le preg_replace, lui fait bien sont travail. Il va me supprimer les version pour ne laisser que le nom
des navigateurs. Mais, je me retrouve encore avec des doublons.

Firefox 1.0.1
Firefox 2.0.0

Ce que j'ai trouvé comme moyen pour supprimer les doublons, c'est array_unique() mais le problème,
c'est le fait que je dois le faire après le preg_replace et là, impossible de continuer.

Si au départ, j'aurai pu faire un SELECT regexp_replace à la base, ça m'aurait éviter preg_replace et array_unique.

Une solution pour aller dans un sens ou l'autre, ou encore une solution que je ne connais pas?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
$navigateur = $databaseConnection->query("SELECT DISTINCT SUBSTRING_INDEX(useragent, '|', 1) AS nav FROM stats_visites");

foreach ($navigateur as $na){
    
 $preg[] = preg_replace('/[^A-Za-z]/', '', utf8_encode($na['nav']));
 $unic = array_unique($preg);
 echo  $unic;
    
}
Espérant avoir bien expliqué mon problème.