Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/09/2011, 13h46   #1
Invité de passage
 
Inscription : mars 2007
Messages : 39
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 39
Points : 2
Points : 2
Par défaut Comparer 2 arrays

Bonjour,

J'ai une table "top" avec comme structure id, id_num, id_title, id_author, id_user.

Cette table me sert à faire un top 5 des 5 livres que préfère l'utilisateur, exemple d'une entrée :

1, 5 (en position 5 dans le top), titre du bouquin, nom de l'auteur, id de l'utilisateur qui possède ce top 5.

J'aimerais maintenant pouvoir comparer des tops 5 entre eux et voir quel top 5 a le plus de ressemblance un autre top 5.

J'ai donc mis le top 5 à comparer dans un array, et tous les autres tops 5 dans un autre array :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$query = 'SELECT id_title FROM tops5 WHERE id_user="'.$row_user['id'].'" AND id_title != ""'; // on sélectionne les livres du top 5 de l'utilisateur que l'on compare
$result = mysql_query($query);
$arr = array();
while($row = mysql_fetch_array($result)) {
array_push($arr, $row['id_title']);
}
print_r($arr);
 
echo '<br /><br />';
$querya = 'SELECT id_title FROM tops5 WHERE id_user != "'.$row_user['id'].'" AND id_title != ""'; // on sélectionne les livres de tous les autres top 5
$resulta = mysql_query($querya);
$arr2 = array();
while($rowa = mysql_fetch_array($resulta)) {
array_push($arr2, $rowa['id_title']);
}
print_r($arr2);
echo '<br /><br />';
 
 
$resultb = array_intersect($arr, $arr2);
 
print_r($resultb);
?>
Et j'ai donc fait un array_intersect pour voir les similitudes, j'obtiens ça :

$arr :

Array ( [0] => Levels [1] => Good Feeling [2] => Cry [3] => Glad You Came [4] => Hips don't lie )

$arr2 :

Array ( [0] => Levels [1] => Club can't handle me [2] => Good Feeling [3] => Man Down )

$resultb :

Array ( [1] => Levels [2] => Good Feeling )

J'obtiens bien ce qui est similaire à $arr, mais maintenant, je voudrais trouver l'id_user à qui appartient le top 5 qui a le plus de similitudes.

Comment pourrais je m'y prendre ?

Merci par avance pour votre aide!
Baptiste78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h28.


 
 
 
 
Partenaires

Hébergement Web