IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

if ("string"==0) echo "GRGR";


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 2
    Par défaut if ("string"==0) echo "GRGR";
    bonjour,
    voici une commande qui parait simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?
    if ("string"==0) echo "GRRR";
    ?>
    rien ne devrait s'afficher. Pourtant "GRRR" apparait

    Je sais, quelle idée de comparer une chaine avec un entier !
    Pourtant ça arrive, je reçois d'une variable soit * , soit un entier.
    Qu'importe, j'ai la solution palliative, mais est-ce que quelqu'un à une explication ?

    PHP Version 4.3.2

  2. #2
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut
    Il m'apparait qu'un entier n'a aucune valeur numérique et qi'il est donc équivalent à 0 (théorie). Pourquoi alors ne pas comparer "string" à "0". Ce serait sûrement plus facile si tu comparait des pommes avec des pommes.

  3. #3
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Bonsoir,

    L'explication de FrankOVD est tout a fait juste. Tu trouveras plus d'infos dans la doc comme toujours. Si tu compares une chaine à un entier, alors la chaine est convertie en entier dans ton cas la conversion donne 0.

    Ce que tu dois faire c'est de rajouter un test sur le type des variables afin de vérifier que celle-ci soit de même type. En php , c'est d'ailleurs très simple et surtout très recommandé au moyen de ===

    Ton code devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <? if ('string' === 0) echo "GRRR"; ?>
    Bonne soirée

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 2
    Par défaut
    C'est vrai, c'est logique.

    Merci à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage d'un String PHP dans fonction javascript et quotes
    Par roukgreg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/05/2013, 15h48
  2. quoted string not properly terminated & autres
    Par gRRosminet dans le forum SQL
    Réponses: 14
    Dernier message: 17/01/2013, 15h17
  3. Réponses: 2
    Dernier message: 10/11/2009, 16h14
  4. ORA-01756: quoted string not properly terminated
    Par hottnikks_79 dans le forum SQL
    Réponses: 14
    Dernier message: 22/05/2007, 13h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo