probleme de recherche dans un array - PHP - Programmation
Marsh Posté le 19-05-2004 à 12:11:44
Essaie avec array_keys($nom_femme, $mail3[0])
Moi j'ai déjà eu des soucis avec array_key_exists()
Marsh Posté le 19-05-2004 à 12:37:27
Elle marche cette solution ?
Marsh Posté le 19-05-2004 à 12:38:27
non, ca marche pas, ca continue de me dire que $mail3[0] est ptet un mec
Marsh Posté le 19-05-2004 à 12:40:00
Et stu fais un print_r(array_keys($mail3[0])) ? Y a quoi dedans ?
Marsh Posté le 19-05-2004 à 12:41:38
Dans ta boucle while, tu écrases ton tableau $nom_femme à chaque passage
Marsh Posté le 19-05-2004 à 12:44:49
T509 a écrit : Dans ta boucle while, tu écrases ton tableau $nom_femme à chaque passage |
surement wai, j'ai retirer le while et ca revient au meme
Marsh Posté le 19-05-2004 à 12:45:59
Taiche a écrit : Et stu fais un print_r(array_keys($mail3[0])) ? Y a quoi dedans ? |
|
donc print_r(array_keys($nom_femme, $mail3[0]))
donne : Array ( )
Marsh Posté le 19-05-2004 à 12:47:05
Essaie ceci :
Code :
|
Marsh Posté le 19-05-2004 à 12:48:37
T509 a écrit : Essaie ceci :
|
c'est ce que j'ai actuaellement
sinon j'ai fait un print_r($nom_femme) et ca me retourne
Code :
|
en gros ya pas de valeurs attribués au index
ca serait le array_push qui merde
Marsh Posté le 19-05-2004 à 12:49:28
Ouais mais non, fais un print_r de tout ton tableau, de ces clés, etc... y a que comme ça que t'arriveras à débugger
EDIT : ba vala
Marsh Posté le 19-05-2004 à 12:58:04
et si tu fais un print_r($name); ???
Au fait, il sert à quoi ton foreach ? Du travail pour rien ? Je ne crois pas que cela soit utile.
Marsh Posté le 19-05-2004 à 12:58:31
Code :
|
ca avance
Marsh Posté le 19-05-2004 à 12:58:49
Ba ch'ais pas, affiche les trucs que tu pushes dans ton foreach
Sinon, pour la lecture de fichier, t'es un peu violent avec ton fread Fais un while(!feof($open)) { $ligne = fgets($open); [...] }
Et tu traites ta ligne.
Il a quelle gueule, ton fichier texte que tu lis ?
Marsh Posté le 19-05-2004 à 12:59:15
T509 a écrit : et si tu fais un print_r($name); ??? |
ben il est la pour que chaque ligne : \n soit un index
si tu connait un truc plus rapide je suis preneur
Marsh Posté le 19-05-2004 à 12:59:41
Taiche a écrit : Ba ch'ais pas, affiche les trucs que tu pushes dans ton foreach |
nom |
Marsh Posté le 19-05-2004 à 13:01:12
Ba vala, tu fais c'que j'dis et hop, pu de foreach
$prenoms = array();
while(!feof($open))
{
$prenom = fgets($open);
array_push($prenoms, $prenom);
}
Et pis c'est tout
Marsh Posté le 19-05-2004 à 13:02:29
ca revient un peu au meme hein
tmaniere le probleme est pas la vu que mon $nom_femme contient bien tout les prenom (un/index)
Marsh Posté le 19-05-2004 à 13:05:48
Eh ba dans ce cas, fais un array_search($trucquetucherches) et pis c'est tout, roh
Marsh Posté le 19-05-2004 à 13:10:28
non pour le moment, tu ne fait que remplir un tableau à partir d'un autre tableau.
A mon sens $name et $nom_femme sont identique à la fin.
Marsh Posté le 19-05-2004 à 13:11:29
mais ca marche pas if (array_search($mail3[0], $nom_femme))
cai ca le sujet du topic
Marsh Posté le 19-05-2004 à 13:13:50
chacal_one333 a écrit : mais ca marche pas if (array_search($mail3[0], $nom_femme)) |
Non, toi tu fais du array_key_exists() Et ici, les keys c'est des indices (20, 52, 39...), pas des prénoms.
'fin bon, perso j'ferais sûrement pas ma lecture de fichier comme toi et de toute façon, à partir du moment où le tableau est rempli correctement, j'vois pas pourquoi la recherche dedans marcherait pas
Marsh Posté le 19-05-2004 à 13:14:52
Taiche a écrit : Non, toi tu fais du array_key_exists() |
deja wai
et ensuite je fait plusieur test successif
if (array_key_exists($mail3[0], $nom_femme)) echo $mail3[0]." est une femme</p>"; |
ca arrive toujours au else, sans s'arreter nul part
Marsh Posté le 19-05-2004 à 13:17:46
$prenoms = array();
while(!feof($open))
{
$prenom = fgets($open);
$prenoms[$prenom]=$prenom;
}
Comme cela tu as un tableau avec valeurs / indices identiques
Marsh Posté le 19-05-2004 à 13:22:28
ca me crée bien des index $tableau[nom]=nom mais la recherche ne fonctionne toujours pas.
j'avoue je comprend vraiment pas la
Marsh Posté le 19-05-2004 à 13:24:29
j'hallucine meme un
echo $nom_femme[$mail3[0]] (soit $tableau[nom])
me retourne Notice: Undefined index: Abarrane in ...
Marsh Posté le 19-05-2004 à 13:29:16
pourtant :
Code :
|
Marsh Posté le 19-05-2004 à 13:30:39
fait un print_r
trop tard ...
Marsh Posté le 19-05-2004 à 13:32:13
et si tu fais un in_array($mail3[0], $nom_femme), il répond quoi ?
Marsh Posté le 19-05-2004 à 13:33:15
C'est normal que tu aies un espace après tes index ?
Marsh Posté le 19-05-2004 à 13:34:05
if (in_array($mail3[0], $nom_femme)) echo "in the array"; |
=> isn't
Marsh Posté le 19-05-2004 à 13:34:31
T509 a écrit : C'est normal que tu aies un espace après tes index ? |
ben ca doit etre la disposition du print_r nan
edit : en tout cas dans le .txt ya aucun espace juste des saut de ligne
Marsh Posté le 19-05-2004 à 13:40:19
T509 a écrit : C'est normal que tu aies un espace après tes index ? |
C'est précisément le problème.
Marsh Posté le 19-05-2004 à 13:46:35
Sielfried a écrit : C'est précisément le problème. |
en effet
merci de votre aide, l'espace foutait la merde
Marsh Posté le 19-05-2004 à 13:57:07
Bon et bien cela vaut bien une petite mousse
Marsh Posté le 19-05-2004 à 14:33:50
autre méthode :
Code :
|
Marsh Posté le 19-05-2004 à 10:43:42
j'ai un ptit soucis pour la recherche de mot au sein d'un array.
je creer un array grace a un fichier texte, ou chaque index contient un prenom
si je fait
cela me retourne
nom (key) a rechercher : Abarrane
Abarrane etant le nom a recherche.
le problème vient du fait que je n'arrive pas a retrouve ce nom pourtant j'ai fait plein de truc
if (array_key_exists($mail3[0], $nom_femme)) echo $mail3[0]." est une femme</p>";
elseif (in_array($mail3[0], $nom_femme)) echo $mail3[0]." est une fille</p>";
else echo $mail3[0]." est peut etre un garçon</p>";
je precise que $mail3[0] contient Abarrane
il me retourne toujours :"Abarrane est peu etre un garçon"
comment je pourrait voir si ce nom est bien dedans (en sachant qu'il y est )
Message édité par Profil supprimé le 19-05-2004 à 11:49:31