IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Probleme avec la fonction array_search()


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Points : 138
    Points
    138
    Par défaut [Tableaux] Probleme avec la fonction array_search()
    Bonjour à tous,

    Il m'est arrivé hier soir un problème étrange dans mon code. Je l'ai résolu d'une manière peu orthodoxe, et je voulais quand même avoir des précisions.

    Je récupère un ensemble de couples (userId,user) dans une table mysql, que je met dans un "while fetch_array", et pour chaque $result['user'], je le recherche dans un tableau préalablement remplis de 10 users existant et triés par ordre alphabétique (voir le code)

    Eh bien systématiquement, il ne le trouve pas lorsqu'il s'agit du premier enregistrement du tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    while($userid=mysql_fetch_array($userid_req))
     
                        {   
     
                            if(array_search($userid['user'],$tab_valideurs) or $tab_valideurs[0]==$userid['user'])
     
                            {
                               //traitement
                            }
     
                        }
    La clause "or" dans le if est le bidouillage que j'ai trouvé pour résoudre le problème (tester unitairement l'index 0 du tableau)

    Voilà, je ne recherche pas forcément une solution, puisque ça marche quand même, mais j'ouvre une discussion

    ++

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 199
    Points : 164
    Points
    164
    Par défaut
    En fait je crois que c'est normal, cette fonction ne cherche pas à partir de 0 mais à partir de 1.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Quand tu as un petit souci avec les tableaux, fait un print_r(); .

    Cela pourra t'aider, surement, à comprendre les erreurs.

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Voilà, je ne recherche pas forcément une solution, puisque ça marche quand même, mais j'ouvre une discussion
    Peut-être que ça marche, mais c'est très crade
    Alors à chaque passage de boucle, que contient ton tableau ? Que contient $userid['user'] ?
    print_r (ou mieux var_dump ) est ton amie.

  5. #5
    Membre habitué Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Points : 138
    Points
    138
    Par défaut
    Evidemment, j'ai fais du echo dans tous les sens pour comprendre, c'est comme ça que j'ai vu que quoi que je fasse, il ne me ramenait pas l'index 0 du tableau. $userid['user'] est un simple résultat de requête, il marche très bien.

    On est d'accord que c'est très crade !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/03/2006, 12h19
  2. [Tableaux] probleme avec la fonction error_log
    Par cortex007 dans le forum Langage
    Réponses: 5
    Dernier message: 23/12/2005, 12h37
  3. [LG] Problème avec la Fonction ReadLn en fin de programme
    Par killermano dans le forum Langage
    Réponses: 6
    Dernier message: 23/07/2005, 15h16
  4. [LG]Probleme avec une fonction
    Par xavier1936 dans le forum Langage
    Réponses: 7
    Dernier message: 08/02/2005, 22h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo