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 :

Opérateurs logiques et chaines de caractères


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 117
    Par défaut Opérateurs logiques et chaines de caractères
    Bonjour,

    J'ai un problème avec la condition suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($lastname_memory != $lastname && $firstname_memory != $firstname) {
    Je compare deux choses :
    un prénom avec un autre prénom et un nom avec un autre nom.

    Les deux devraient être identique pour que ma condition soit validée. Mais si le nom et le nom en mémoire ou le prénom et le nom en mémoire sont identiques cela me retourne le résultat comme si la condition était vérifiée.

    Il semble que la condition se comporte comme si elle contenant un OU au lieu du ET.

    D'avance merci pour votre aide !

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Bonjour,

    Les deux devraient être identique pour que ma condition soit validée
    différents plutôt non ?

    Fait un var_dump de tes variables avant le if pour être sur de leur contenu.

  3. #3
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Je pense que ta condition n'est pas adaptée à ce que tu recherches. Elle se comporte correctement, c'est juste qu'actuellement, tu vérifies une différence, et non pas une égalité...
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 117
    Par défaut
    Je pense ne pas avoir été clair, je veux que la condition dans mon if soit vraie si :
    $lastname_memory est différent de $lastname ET $firstname_memory est différent de $firstname

  5. #5
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Tu as essayé de placer un var_dump juste avant pour voir le contenu ?

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 117
    Par défaut
    Je ne comprends pas bien l'utilité du var_dump, malgrè la lecture du manuel php...
    http://de3.php.net/manual/fr/function.var-dump.php

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Ta condition est vrai si $lastname_memory est différent de $lastname ET $firstname_memory est différent de $firstname.
    Si tu vérifier sur si l'un d'eux est différent alors tu dois mettre le ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($lastname_memory != $lastname || $firstname_memory != $firstname)
    ça veux dire si l'un d'eux est différent de l'autre alors la condition sera vrai.

  8. #8
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Citation Envoyé par JoN28fr Voir le message
    Je pense ne pas avoir été clair, je veux que la condition dans mon if soit vraie si :
    $lastname_memory est différent de $lastname ET $firstname_memory est différent de $firstname
    Dans ce cas là ton if est correct... Le problème vient d'ailleurs, vérifie le contenu de tes variables comme le dit Bebel.
    La fonction var_dump() permet d'afficher le contenu d'une variable
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  9. #9
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 117
    Par défaut
    le var_dump() me retourne systématiquement string(32) pour tous mes noms et prénoms....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var_dump($firstname_memory);
    echo " - ";
    var_dump($firstname);
    echo " - ";
    var_dump($lastname_memory);
    echo " - ";
    var_dump($lastname);
    Me retourne :
    string(32) "Daniel " - string(32) "Daniel " - string(32) "CHARTON " - string(32) "DUBUISSON "

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. [XL-2010] Les opérateurs de manipulation de chaines de caractères ne fonctionnent pas
    Par jpclabaux dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/07/2013, 19h22
  3. Réponses: 6
    Dernier message: 23/06/2008, 16h33
  4. Lire Une Chaine De Caractères
    Par Jonathan_Korvitch dans le forum C
    Réponses: 12
    Dernier message: 07/01/2003, 05h37
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

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