Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2007, 08h21   #1
Inactif
 
Avatar de CR_Gio
 
Inscription : septembre 2005
Messages : 1 196
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 1 196
Points : 1 201
Points : 1 201
Par défaut pourquoi 'B' == 0 ?

Bonjour,

J'ais essyé ce code, et a ma grande surprise j'ai obtenue quelque chose de magic
Code :
1
2
3
4
if( 'B'==0)
  echo 'B==0';
else
  echo 'B!=0';
Ce code m'affiche : B==0

Pouriez vous m'expliquer ce tour de magie ?
CR_Gio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 08h48   #2
Membre confirmé
 
Inscription : mai 2006
Messages : 196
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 196
Points : 278
Points : 278
C'est parce que tu utilise l'opérateur d'égalité avec 2 fois le signe =, cet opérateur n'inclus pas le type des données comparée, pour une vraie égalité, il faut utiliser l'opérateur avec 3 fois =, ce dernier va alors en plus vérifier les types de données, s'ils sont différents, sa retournera faux :

Code :
1
2
3
4
5
6
7
<?php
if( 'B' === 0 )
  echo 'B == 0';
else
  echo 'B != 0';
//Affichera 'B != 0' ;
?>
Page d'information officiel sur les opérateur :
http://www.php.net/manual/fr/languag...comparison.php
meliandah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2007, 10h09   #3
Membre du Club
 
Avatar de raoulchatigre
 
Inscription : mars 2004
Messages : 97
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Bas Rhin (Alsace)

Informations forums :
Inscription : mars 2004
Messages : 97
Points : 54
Points : 54
Dans le détail, PHP essaie de convertir 'B' en nombre
et comme c'est une lettre il obtient 0
d'où le 0 == 0
raoulchatigre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 13h21   #4
Inactif
 
Avatar de CR_Gio
 
Inscription : septembre 2005
Messages : 1 196
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 1 196
Points : 1 201
Points : 1 201
Bonjour a tous

Merci pour votre aide c'est bien plus clair a présent.

PS : excusez mon temps de réponse.
CR_Gio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h10.


 
 
 
 
Partenaires

Hébergement Web