Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2216 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Opérateur de comparaison casse sensitif

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Opérateur de comparaison casse sensitif

n°1208734
marquis
Posté le 27-09-2005 à 15:25:29  profilanswer
 

Salut !
 
Qui pourrais m'indiquer comment utiliser l'opérateur de comparaison <> ou =! en PHP pour qu'il ne soit pas casse sensitif ?
 
Merci !


---------------
Marquis
mood
Publicité
Posté le 27-09-2005 à 15:25:29  profilanswer
 

n°1208742
dwogsi
Défaillance cérébrale...
Posté le 27-09-2005 à 15:29:34  profilanswer
 

strtoupper()
strtolower()
 
Si tu met les deux chaines pareils c'est bon...
 

Code :
  1. if ( strtoupper($mavar) <> strtoupper($tavar) ) //Ne tient pas compte de la casse
  2. {
  3. }


Message édité par dwogsi le 27-09-2005 à 15:30:46

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1208746
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 15:30:51  profilanswer
 

grille

n°1208747
omega2
Posté le 27-09-2005 à 15:31:01  profilanswer
 

http://www.nexen.net/docs/php/anno [...] p?lien=cmp
 
Un petit tour dans la doc et le tour est joué  (même pas 30sec de recherche en utilisant le mot clé "cmp", "cmp" pour comparaison)
 
EDIT : grillé aussi mais j'ai trouvé mieux. :p

Message cité 1 fois
Message édité par omega2 le 27-09-2005 à 15:31:28
n°1208751
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 15:32:47  profilanswer
 

tiens connaissais pas , je note :p

n°1208755
dwogsi
Défaillance cérébrale...
Posté le 27-09-2005 à 15:35:48  profilanswer
 

omega2 a écrit :

grillé aussi mais j'ai trouvé mieux. :p


 
Effectivement je le reconnais!
 

betsamee a écrit :

tiens connaissais pas , je note :p


 
Moi de même.


Message édité par dwogsi le 27-09-2005 à 15:36:18

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1208758
marquis
Posté le 27-09-2005 à 15:37:12  profilanswer
 

Je retiens la première solution car j'ai besoin d'un TRUE en retour et non d'un 0 comme c le cas dans la seconde. ;)


---------------
Marquis
n°1208760
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 15:38:43  profilanswer
 

connerie detected

n°1208763
omega2
Posté le 27-09-2005 à 15:40:49  profilanswer
 

Regarde donc l'exemple, tu peux obtenir un booleen trés facilement.
mais c'est vrai qu'il faut comparer à 0 pour ça.

n°1208765
marquis
Posté le 27-09-2005 à 15:41:49  profilanswer
 

une étape de plus donc


---------------
Marquis
mood
Publicité
Posté le 27-09-2005 à 15:41:49  profilanswer
 

n°1208768
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 15:43:26  profilanswer
 

2 fois strtolower et un =
1 fois strcasecmp et un !

n°1208769
dwogsi
Défaillance cérébrale...
Posté le 27-09-2005 à 15:43:28  profilanswer
 

Pourquoi tu veux absolument un TRUE?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1208772
marquis
Posté le 27-09-2005 à 15:45:20  profilanswer
 

pour un if


---------------
Marquis
n°1208773
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 15:46:04  profilanswer
 

et ! c'est pour les clebs?

n°1208784
marquis
Posté le 27-09-2005 à 15:53:17  profilanswer
 

exprime toi plus clairement stp


---------------
Marquis
n°1208786
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 15:56:00  profilanswer
 

Code :
  1. if(!strcasecmp($chaine1,chaine2))
  2. {
  3.     echo  "c'est les memes chaines";
  4. }
  5. else
  6. {
  7.    echo  "c'est PAS les memes chaines";
  8. }


Message édité par betsamee le 27-09-2005 à 15:56:28
n°1208795
marquis
Posté le 27-09-2005 à 15:59:40  profilanswer
 

dans la doc il dise que ca retourne un 0 et non un true, il l'accepte quand meme le if ?


---------------
Marquis
n°1208796
afbilou
pouet your life
Posté le 27-09-2005 à 15:59:40  profilanswer
 

Dans ce cas :

Code :
  1. if(strcasecmp($chaine1,chaine2))
  2. {
  3.     echo  "c'est PAS les memes chaines";
  4. }
  5. else
  6. {
  7.    echo  "c'est les memes chaines";
  8. }


n°1208798
esox_ch
Posté le 27-09-2005 à 16:00:36  profilanswer
 

marquis,  
 
PHP ne fait pas la difference entre true et 1 et false et 0 ... Pour lui c'est pareil


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1208800
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 16:00:49  profilanswer
 

afbilou a écrit :

Dans ce cas :

Code :
  1. if(strcasecmp($chaine1,chaine2))
  2. {
  3.     echo  "c'est PAS les memes chaines";
  4. }
  5. else
  6. {
  7.    echo  "c'est les memes chaines";
  8. }



 
t'as ecrit la meme chose que moi


Message édité par betsamee le 27-09-2005 à 16:08:46
n°1208812
marquis
Posté le 27-09-2005 à 16:06:47  profilanswer
 

bogoss PHP :)


---------------
Marquis
n°1208815
esox_ch
Posté le 27-09-2005 à 16:08:54  profilanswer
 


 
En français ça donne quoi ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1208816
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 16:09:19  profilanswer
 

c'est du francais , pas du suisse :D

n°1208820
esox_ch
Posté le 27-09-2005 à 16:10:21  profilanswer
 

betsamee a écrit :

c'est du francais , pas du suisse :D


 
 :fou:  :fou:  :fou:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1208982
dwogsi
Défaillance cérébrale...
Posté le 27-09-2005 à 17:19:18  profilanswer
 

betsamee a écrit :

c'est du francais , pas du suisse :D


 
Je pensais pas que je retrouverais de la rivalité Francais vs Suisses jusque dans le froum d'HFR!
 :lol:


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1209139
esox_ch
Posté le 27-09-2005 à 20:25:01  profilanswer
 

http://mypage.bluewin.ch/territorialgrenadiere/ISONE.GIF


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1209147
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 20:30:10  profilanswer
 

en meme temps sois content t'aurais pu etre belge [:pingouino]


Message édité par betsamee le 27-09-2005 à 20:30:21
n°1209157
esox_ch
Posté le 27-09-2005 à 20:39:17  profilanswer
 

Mais je suis totalement fier de ma nationnalité :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1209168
betsamee
Asterisk Zeperyl
Posté le 27-09-2005 à 20:45:14  profilanswer
 

mon pere est marocain ma mere algerienne , j'ai vecu 17 ans en France et je vis en Israel

n°1209195
dwogsi
Défaillance cérébrale...
Posté le 27-09-2005 à 21:12:20  profilanswer
 

Ouai mais connai tu vraiment la Suisse? Des pays comme celui-la yen a pas deux! lol


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1209249
esox_ch
Posté le 27-09-2005 à 22:22:10  profilanswer
 

dwogsi a écrit :

Ouai mais connai tu vraiment la Suisse? Des pays comme celui-la yen a pas deux! lol


 
Je prend ca pour un compliment :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1209269
FlorentG
Unité de Masse
Posté le 27-09-2005 à 22:31:54  profilanswer
 

esox_ch a écrit :

marquis,  
 
PHP ne fait pas la difference entre true et 1 et false et 0 ... Pour lui c'est pareil


C'est ce qui est d'ailleurs très très con... Parfois, une fonction (genre strpos) va te retourner false en cas de "que dalle", ou parfois un nombre, y compris 0.
 
Genre tu veux tester si y'a la chaîne "pouet" dans une autre chaîne, alors tu va faire :

if(strpos($teh_chaine, 'pouet')) {
  echo 'Y\' a pouet dans la chaîne';
} else {
  echo 'Y\'a pas pouet dans la chaîne, dommage';
}


Imagine que pour $teh_chaine tu mets 'pouet est un joli nom'. Donc strpos va te retourner 0 (parce que 'pouet' se trouve à la position 0)... Mais le test va foirer ! Il va assimilier 0 à false, et t'afficher "Y\'a pas pouet dans la chaîne, dommage", alors que pouet y est bien... Faut en faite faire :

if(!strpos($teh_chaine, 'pouet') === false) {
  echo 'Y\'a pas pouet dans la chaîne, dommage';
} else {
  echo 'Y\' a pouet dans la chaîne';
}


Donc inverser le test, et mettre les trois 'égal' pour tester non seulement à false, mais avec en plus prise en compte du type (donc un 0 (entier) sera différent d'un false (booléen)).
 
Vive le PHP [:johneh]  [:johneh]

n°1209290
omega2
Posté le 27-09-2005 à 22:56:46  profilanswer
 

Voilà donc la véritable utilité du ===
C'est bien plus propre que ce que je faisais moi. :D

n°1209308
dwogsi
Défaillance cérébrale...
Posté le 27-09-2005 à 23:11:53  profilanswer
 

esox_ch a écrit :

Je prend ca pour un compliment :D


 
Il est certain qu'entendu par un suisse les dénigrement d'un francais parraissent être des compliments! C'est peut être de là que vient cette rivalité France vs Suisse, enfin vers la frontière...
J'suis hors sujet là je crois [:chenaillou]


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1209329
FlorentG
Unité de Masse
Posté le 27-09-2005 à 23:20:22  profilanswer
 

omega2 a écrit :

Voilà donc la véritable utilité du ===
C'est bien plus propre que ce que je faisais moi. :D


Voilà :jap: C'est vraiment con que PHP ne soit pas fortement typé, du coup on est obligé d'avoir ce genre d'opérateurs :(

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Opérateur de comparaison casse sensitif

 

Sujets relatifs
menu style onglet avec coin casséSurcharge d'opérateur
Comparaison de 2 fichiersProblem Graph Np complet, casse tete
Operateur++ sur un enumComparaison de classeur excel
Bug JS comparaison de valeur[SQL]fonction de comparaison de chaines
Comparaison de dates sous vbaEditeur Hexadécimal : comparaison ?
Plus de sujets relatifs à : Opérateur de comparaison casse sensitif


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR