Commande strcmp
Résolu/Fermé
fhav
Messages postés
252
Date d'inscription
mercredi 11 mars 2009
Statut
Membre
Dernière intervention
25 novembre 2009
-
27 mars 2009 à 10:13
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 27 mars 2009 à 10:53
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 27 mars 2009 à 10:53
A voir également:
- Commande strcmp
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande chkdsk - Guide
- Diskpart commande - Guide
- Commande en cours de validation fnac - Forum Consommation & Internet
3 réponses
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
920
27 mars 2009 à 10:43
27 mars 2009 à 10:43
salut,
moi je pensai que strcmp retourne une valeur positive ou négative
c'est bien ça.
quelqu'un peu m'expliquer ça ?
en fait le test indique si les chaînes sont différentes (le résultats est positif ou négatif ce qui une fois converti en booléen donne TRUE) ou identiques (le résultat est égal à zéro, converti en FALSE).
moi je pensai que strcmp retourne une valeur positive ou négative
c'est bien ça.
quelqu'un peu m'expliquer ça ?
en fait le test indique si les chaînes sont différentes (le résultats est positif ou négatif ce qui une fois converti en booléen donne TRUE) ou identiques (le résultat est égal à zéro, converti en FALSE).
if (strcmp($v_log['log'], $login)) // si le retour vaut autre chose que 0, c-à-d TRUE { traitement 1 } else { // sinon le retour vaut 0, c-à-d FALSE traitement 2 }
fhav
Messages postés
252
Date d'inscription
mercredi 11 mars 2009
Statut
Membre
Dernière intervention
25 novembre 2009
5
27 mars 2009 à 10:47
27 mars 2009 à 10:47
merci i understand
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
920
27 mars 2009 à 10:53
27 mars 2009 à 10:53
soit dit en passant, pour avoir un code plus propre et plus sûr il faudrait tester réellement la valeur de retour (et non pas la conversion), donc tester aussi le type.
la plus simple est d'inverser la condition
la plus simple est d'inverser la condition
if (strcmp($v_log['log'], $login) === 0) // là tu es sûr que la fonction a bien retourné 0 et pas simplement quelque chose d'équivalent à FALSE { traitement 2 } else { traitement 1 }