Arrayt à deux entrées/comparaison

Résolu
Signaler
Messages postés
158
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
4 novembre 2007
-
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
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

Messages postés
67
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
20 octobre 2010

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 .....
Messages postés
158
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
4 novembre 2007

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 =/
Messages postés
158
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
4 novembre 2007

bin non ca marche pas j'ai ça comme erreur :

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

=/
Messages postés
158
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
4 novembre 2007

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 =/
Messages postés
67
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
20 octobre 2010

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 ^^
Messages postés
158
Date d'inscription
dimanche 29 décembre 2002
Statut
Membre
Dernière intervention
4 novembre 2007

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
Messages postés
67
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
20 octobre 2010

Hahaha !! Classique =)

GL pour la suite !!
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
26
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);