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 :

strcmp me fait des siennes...


Sujet :

Langage PHP

  1. #1
    esp
    esp est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2004
    Messages : 8
    Points : 8
    Points
    8
    Par défaut strcmp me fait des siennes...
    bonjour à tout le monde.

    alors vous allez bien rigoler, mais sachez que ça fait bien une heure maintenant que je me demande pourquoi ma fonction strcmp ne me fait pas ce que je veux... je m'explique :

    J'ai un fichier xml (series.xml) qui recense des series (normal).

    structure du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <series>
    		<serie>test</serie>
    </series>
    y'a pas plus simple je vous l'accorde.


    et j'ai une fonction simple aussi qui teste l'existence d'une série (nom passé en parametre) dans ce fichier xml

    code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    function serie_exists($nom_serie)
    {
    $source = @file_get_contents("series.xml");
    preg_match_all ("!<serie>(.*?)</serie>!i", $source, $recuplibelle, PREG_PATTERN_ORDER);
     
    for ($j = 0; $j < (count($recuplibelle[0])); $j++)
        {
    		$nom=$recuplibelle[0][$j];
     
                    //affichage test
                    echo "-".$nom."-".$nom_serie."-";
     
            if (strcmp($nom,$nom_serie)==0) {
    		echo "trouvé !";
    		return true;
    		}
        }
    return false;
    }
    --------------

    a part le strcmp, la fonction marche super bien. Des affichages classiques me donnent ce que je veux, il n'y a aucun problème.
    Par contre, le strcmp me donne pas 0 !!! il me donne 1 !!!

    pourtant, l'affichage test me donne bien ce que je veux !!! cad :

    -test-test-

    J'ai testé les types, c'est tous les deux des strings...

    Alors voilà, j'y comprends rien. Si ça se trouve, c'est une bétise mais bon... je vois vraiment pas.

    Si vous avez des idées ...

    Merci !

  2. #2
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    salut,
    je viens de passer un peu de temps et c'est vrai que c'est un truc à rendre fou

    tu utilises le mauvais index en fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?
    function serie_exists($nom_serie)
    {
    $source = @file_get_contents("series.xml");
    $count = preg_match_all ("!<serie>(.*?)</serie>!i", $source, $recuplibelle, PREG_PATTERN_ORDER);
     
    for ($j = 0; $j < $count ; $j++)
        {
          $nom=$recuplibelle[1][$j];
     
                    //affichage test
                    echo md5($nom)."<br />".md5($nom_serie);
     
            if (!strcmp($nom,$nom_serie)) {
          echo "trouvé !";
          return true;
          }
        }
    return false;
    }
     
    serie_exists("test");
    ?>
    j'ai juste changé la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          $nom=$recuplibelle[0][$j];
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          $nom=$recuplibelle[1][$j];
    merci le md5

  3. #3
    esp
    esp est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2004
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup !!!

    fiou, quel soulagement ...

    vraiment sympa de ta part Coyote.

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

Discussions similaires

  1. MySQL connector fait des siennes
    Par madevilts dans le forum VB.NET
    Réponses: 1
    Dernier message: 08/02/2007, 12h55
  2. mon ActionPerformed fait des siennes
    Par azer2k20 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 09/01/2007, 23h26
  3. Pop up qui fait des siennes !
    Par Sandara dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 13/06/2006, 16h40
  4. [VB]le WebBrowser fait des siennes
    Par mister3957 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 08/02/2006, 08h43

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