Arrayt à deux entrées/comparaison

Résolu
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007 - 21 sept. 2006 à 14:03
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 21 sept. 2006 à 17:40
Vous m'avez déjà vu je pense j'ai beaucoup poster c'est dernier temps :)
et j'ai finalement réussis a surmonter mon problème, mais une nouveau se pose...et là il me manque des compétence pour y répondre donc je fais appel a vous :)

alors il y a 2 bdd, une avec les pseudo, et une avec les pseudo et reponse
je selectionne chaque pseudo et la bdd des pseudo, et pour chaque pseudo jeréatribue chaque série de 70 réponses dans la bdd rep/pseudo.

au paravant j'ai fais la même chose avec le pseudo de la personne qui se connecte a son compte

résultat : j'ai 2 tableaux que je les compare ligne par ligne et marque dans une variable a par le nombre de réponse similaire (cela se fait avec tous les membres enregistrer dans la bdd des pseudo

mon problème arrive ici :

il me faudrais savoir comment je peux enregistrer pour chaque pseudo le nombre de réponse similaire
et retrouver parmis ça le membre ayant le plus de réponses identique.

j'ai penser a un array avec 2 entre mais je ne gère pas du tout si quelqu'un pourrait m'aider merci

mes variable dans mon code :
$p = le nombre de réponse identique
$log = le pseudo de la personne qui a ce nombre de réponse identique avec la personne titulaire du compte

j'espère vous avez compris mon problème.
merci

8 réponses

jediNoobiewan Messages postés 67 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 20 octobre 2010
21 sept. 2006 à 14:17
Hello,


si tu fais un tableau du type


       $monTab[$log] = $p;


comme ça à chaque fois que tu trouve une réponse similaire tu
l'incrémente ce qui te donne un tableau dont la clé est le pseudo
ensuite pour trouver le max :


       sort($monTab); // Tu tris le tableau

       // Et tu récupère la clé du dernier élément

       $leGasQuiALePlusDeReponsesSimilaire = key($monTab[count($monTab) - 1]);


Voilou .....
3
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007
21 sept. 2006 à 17:06
en faite j'ai contourner mon problème j'ai ranger la valeur $p dans un tableau et la valeur $log dans un autre
q=0;
           $pseu["$q"]=$log;
           $sim["$q"]=$p;  
           $q++;

les deux tableaux sont déclarer et sont remplis, mais je n'arrive toujours pas a trier !!

a la findu while (car j'ai repris les valeurs)
while {

BLABLBABA ici tout marche

}
asort($sim);
$plus = key($sim[count($sim) - 1]);

echo $pseu["$plus"];

pourtant que je fait print_r il affiche mes tableaux remplis des bonne valeurs !
alors je comprends pas =/
3
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007
21 sept. 2006 à 15:21
bin non ca marche pas j'ai ça comme erreur :

"Warning: key() [function.key]: Passed variable is not an array"

=/
0
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007
21 sept. 2006 à 16:08
faudrai tout simplement que dans mn tableau je puisse entrer la clef qui corespond au pseudo , et la valeur au nombre de réponse, et trier par ces valeurs, et recuperer la valeur la plus grande...
mais mon code ne reconnais pas ceci comme tableau =/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jediNoobiewan Messages postés 67 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 20 octobre 2010
21 sept. 2006 à 16:32
Montre moi le bout de code de l'initialisation de ton tableau plz =)

Sinon je vois pas car mon code fonctionne et fait ce que tu veux ^^
0
kodiask Messages postés 158 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 4 novembre 2007
21 sept. 2006 à 17:12
en faite j'ai trouvé et ça marche ! :D
j'avais pas mis le -1 dans mon code =/
donc ca m'afficher rien puisque la colonne n'existé pas :( lol
0
jediNoobiewan Messages postés 67 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 20 octobre 2010
21 sept. 2006 à 17:20
Hahaha !! Classique =)

GL pour la suite !!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 sept. 2006 à 17:40
Hello,

j'ai pas lu pour voir s'il y avait mieux, mais je corrige le code en question là :
sort($monTab);
end ($monTab);
$clef = key ($monTab);
reset ($monTab);
0
Rejoignez-nous