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 :
y'a pas plus simple je vous l'accorde.
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>
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 !
Partager