Opérateur de comparaison casse sensitif

Opérateur de comparaison casse sensitif - PHP - Programmation

Marsh Posté le 27-09-2005 à 15:25:29    

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
Reply

Marsh Posté le 27-09-2005 à 15:25:29   

Reply

Marsh Posté le 27-09-2005 à 15:29:34    

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})/
Reply

Marsh Posté le 27-09-2005 à 15:30:51    

grille

Reply

Marsh Posté le 27-09-2005 à 15:31:01    

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
Reply

Marsh Posté le 27-09-2005 à 15:32:47    

tiens connaissais pas , je note :p

Reply

Marsh Posté le 27-09-2005 à 15:35:48    

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})/
Reply

Marsh Posté le 27-09-2005 à 15:37:12    

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
Reply

Marsh Posté le 27-09-2005 à 15:38:43    

connerie detected

Reply

Marsh Posté le 27-09-2005 à 15:40:49    

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

Reply

Marsh Posté le 27-09-2005 à 15:41:49    

une étape de plus donc


---------------
Marquis
Reply

Marsh Posté le 27-09-2005 à 15:41:49   

Reply

Marsh Posté le 27-09-2005 à 15:43:26    

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

Reply

Marsh Posté le 27-09-2005 à 15:43:28    

Pourquoi tu veux absolument un TRUE?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 27-09-2005 à 15:45:20    

pour un if


---------------
Marquis
Reply

Marsh Posté le 27-09-2005 à 15:46:04    

et ! c'est pour les clebs?

Reply

Marsh Posté le 27-09-2005 à 15:53:17    

exprime toi plus clairement stp


---------------
Marquis
Reply

Marsh Posté le 27-09-2005 à 15:56:00    

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
Reply

Marsh Posté le 27-09-2005 à 15:59:40    

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


---------------
Marquis
Reply

Marsh Posté le 27-09-2005 à 15:59:40    

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. }


Reply

Marsh Posté le 27-09-2005 à 16:00:36    

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
Reply

Marsh Posté le 27-09-2005 à 16:00:49    

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
Reply

Marsh Posté le 27-09-2005 à 16:06:47    

bogoss PHP :)


---------------
Marquis
Reply

Marsh Posté le 27-09-2005 à 16:08:54    


 
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
Reply

Marsh Posté le 27-09-2005 à 16:09:19    

c'est du francais , pas du suisse :D

Reply

Marsh Posté le 27-09-2005 à 16:10:21    

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
Reply

Marsh Posté le 27-09-2005 à 17:19:18    

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})/
Reply

Marsh Posté le 27-09-2005 à 20:25:01    

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
Reply

Marsh Posté le 27-09-2005 à 20:30:10    

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


Message édité par betsamee le 27-09-2005 à 20:30:21
Reply

Marsh Posté le 27-09-2005 à 20:39:17    

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
Reply

Marsh Posté le 27-09-2005 à 20:45:14    

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

Reply

Marsh Posté le 27-09-2005 à 21:12:20    

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})/
Reply

Marsh Posté le 27-09-2005 à 22:22:10    

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
Reply

Marsh Posté le 27-09-2005 à 22:31:54    

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]

Reply

Marsh Posté le 27-09-2005 à 22:56:46    

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

Reply

Marsh Posté le 27-09-2005 à 23:11:53    

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})/
Reply

Marsh Posté le 27-09-2005 à 23:20:22    

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 :(

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed